01. december 2010 - 14:53Der er
14 kommentarer og 1 løsning
Macro/VBA der kan markere område med data
Hej
Hvordan skriver man i VBA/makro at der skal markeres et område fra kolonne A2 til G2, og lige så lang ned der er data. Den skal kunne tage højde for, at der kan forekomme flere blanke felter i de forskellige kolonner (også i kolonne A og G). Der skal simpelthen markeres helt ned til der ikke er flere data i arket Jeg kender den med ctrl+shift+* der giver "Selection.CurrentRegion.Select", men så kan jeg jo ikke vælge kun at få markeret fra række 2 og nedaf..... Og den tager heller ikke højde for at der er en helt linie der er blank i alle felter!
Jeg har lavet en kommandoknap (cmdMarkerOmråde) på arket med følgende vba kode:
Private Sub cmdMarkerOmråde_Click() Dim a As Integer 'variabel til rækkenummeret på den sidste række med data/formler i kolonne a Dim g As Integer 'variabel til rækkenummeret på den sidste række med data/formler i kolonne g
'tildel variablen a, rækkenummeret på sidste række indeholdende data i kolonne a a = ActiveSheet.Range("A65536").End(xlUp).Row
'tildel variablen g, rækkenummeret på sidste række indeholdende data i kolonne g g = ActiveSheet.Range("G65536").End(xlUp).Row
'hvis rækkenummeret a er større end rækkenummeret g If a > g Then
'marker fra A2 til G & a ActiveSheet.Range("A2:G" & a).Select
Else
'marker fra A2 til g & g ActiveSheet.Range("A2:G" & g).Select
Svia: din VBA markere ikke kun området med data, men helt ned til række 516.289......??
Lalocin: Din virker ikke, hvis feltet i kolonne a og g i sidste række er blanke..... Og hvis jeg har mere end 65.536 linier får jeg fejl på: "a = ActiveSheet.Range("A65536").End(xlUp).Row"
Der var vist lige noget jeg havde glemt, jeg kender godt problemet i men makro nu du skrev om det.
- Men så prøvede jeg newbieatphp makro, den kunne jeg heller ikke få til og virke, men så rettede jeg den lige lidt og så virkede det perfekt her hos mig, den ser således ud nu:
Jeg har følgende: Windows 7 64 bits Microsoft Office 2010 Pro plus
Hvis du tænker på det med at jeg rettede din makro til, så virkede den ikke før jeg havde dim din variabel LastROW, og så gik det bedre efter jeg havde lavet din kolonne G som konstant. Herefter blev makroen betydelig hurtigere, ellers stod den og ventede på et eller andet.
Problemet med at at min og lalocin's makro fik for mange rækker med eller meldte fejl er tilsyneladende væk med den makro som du kom med. Fint nok selv om jeg rettede lidt på den.
Din måde/makro og markerer et område på vil jeg lige gemme til en anden god gang, for dert virker faktisk meget fint.
Den jeg foreslog først har faktisk et problem, den virker første gang den bliver kørt, men hvis man så sletter nogle rækker sidst i markeringen, og så kører koden igen, vil det samme område igen blive markeret. Problemet løses ved at man 0-stiller sit excelark, og så kan man starte forfra, jeg har faktisk tidligere brugt lang tid på og finde ud af hvad der var galt.
Jamen så er det jo Newbieatphp's makro du skal bruge. Jeg tjekkede bare lige makroen af ren interesse, og lavede den så lidt om så den fungerede på min PC.
"Option explicit" betyder jo bare at variablerne skal være deklareret, fjerner du denne kode behøver man ikke det.
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.