09. marts 2023 - 21:39Der er
2 kommentarer og 1 løsning
Range - ændre i vba
Klikker jeg på kolonne bogstavet C, så fremhæves hele kolonne C. Når jeg herefter klikker på en knap med vba kode, hvor der står: Dim C as range Så kan jeg arbejdet med C som referere til kolonne C.
Kan jeg ændre range således, at klikkes på kolonne C, så vil min range kun gælde linje 3 til 60 (C3:C60).
Andre i samme regneark ville måske med musen fremhæve C11:D45 og her er ingen begrænsning, for linjen er er mindst 3 og ikke større end 60.
Dim C as Range C er bare et variabel navn, det refererer ikke til noget før du sætter det til det, men det ved du sikkert godt. Synes du skal sætte et lille r foran, så det typeangiver din variabel
Dim rC as Range 'eller Dim rcolC as Range eller Dim rCell as Range (ligegyldigt hvad det hedder)
'Set er metoden til at få en range variabel til at være et område, så... Set rC = ActiveSheet.Range("C3:C60")
Tak for din interesse. Jeg har sikker forklaret mig dårligt.
Det handler om at bruger af et regne ark kan finde på at markere kolonne C og eller flere kolonner frem til og med kolonne ND.
Fremhæves kolonne en eller flere kolonner og man trykker på knappen skift farve, er det meningen at det kun er i området mindst C3 og størst ND60 som vba udførslen skal arbejde med. Er der ikke en begrænsning, så vil min funktion se på hver celler C61 til uendelig og det tager en krig. Derfor vil jeg begrænse, så brugeren føler det nævn at fremhæve en kolonne og min vba funktion kun ændre i området linje 3 til 60 og dermed kørere vba koden hurtigt.
Set C = Range("C" & WorksheetFunction.Max(3, Selection.Row) & ":C" & WorksheetFunction.Min(60, Selection.Row + Selection.Rows.Count - 1))
Synes godt om
Ny brugerNybegynder
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.