Avatar billede display Nybegynder
22. april 2009 - 11:32 Der er 6 kommentarer og
1 løsning

Finde sidste række i regneark

Jeg har et regneark som jeg udlæser fra vores produktionsstyringssystem.
Dette regneark kopierer jeg så ind i et andet ark hvor jeg formaterer det inden jeg gemmer det.
Øverst i arket (A3-A20) har jeg en formatering af cellerne som jeg kopiere til E3-E20 og de efterfølgende rækker i arket.  Hertil benytter jeg i dag 'formatpenslen'.
Nu er mit spørgsmål om man ikke kan lægge dette i en makro? Det eneste som jeg skal have fundet ud af er, hvordan man finder den sidste række i arket?

Er dette til at forstå?
Avatar billede j3ppah Novice
22. april 2009 - 11:43 #1
Dim Data1 As Variant I As Long, RW As Long
    RW = Application.WorksheetFunction.Max(Sheets("Sheet1").[I65536].End(xlUp).Row


Ikke sikker på jeg har forstået dit spørgsmål korrekt.
Avatar billede igoogle Forsker
22. april 2009 - 11:43 #2
Avatar billede display Nybegynder
22. april 2009 - 11:56 #3
Jeg prøver lige at beskrive det lidt mere præcist.

Det jeg ønsker min makro skal gøre er, at tage formateringen (der er forskellige betingede formateringer som f.eks. laver nogle forskellige farver i cellerne, samt inddeling af arket med streger omkring cellerne) fra række A og kopiere denne formattering til rækkerne E - 'sidste række'.

Kan nogen give mig et eksemple på dette?
Avatar billede igoogle Forsker
22. april 2009 - 13:59 #4
Sub move()
Dim Rs As Range

Set Rs = Range("A1", "IV1")
Rs.Copy
Range("A65536").End(xlUp).Select
Selection.Offset(1, 0).Insert shift:=xlDown

End Sub
Avatar billede display Nybegynder
22. april 2009 - 14:44 #5
Jeg har nu 'optaget' en makro som gør det jeg ønsker:

    Range("B1:AA1").Select
    Selection.Copy
    Range("B8:AA30").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
End Sub

I dette eksempel kopiere jeg formateringen i cellerne B1:AA1 til rækkerne 8:30 (B8:AA30).
Det jeg gerne vil have flettet ind er, at den selv finder den sidste række og får den ind istedet for AA30.

Men jeg kan ikke rigtigt få det du, igoogle, skriver flettet ind så det fungerer.
Avatar billede perhol Seniormester
22. april 2009 - 16:52 #6
Prøv denne:

Sub FormatKopi()
'
'Finder talværdien for sidste ikke-tomme kolonne og tildeler _
'den til variablen Last
    Dim Last As Long
    Last = Cells.Find("*", SearchOrder:=xlByColumns, _
    LookIn:=xlValues, SearchDirection:=xlPrevious).Column
'Kopierer formatet fra A-kolonnen til Alle ikke-tomme kolonner _
'fra og med kolonne E
    Dim ECol As Long
    For ECol = 5 To Last
    ActiveSheet.Columns(ECol).Select
    Columns("A:A").Copy
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Next ECol
End Sub
Avatar billede display Nybegynder
02. september 2010 - 08:34 #7
Har ikke kunnet få det til at fungere.
Lukker spørgsmålet.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester