Avatar billede max4user Nybegynder
29. januar 2009 - 23:51 Der er 7 kommentarer

Variabel Range VBA

Hej i kloge hoveder :)
Jeg har søgt uden af finde...
Ofte har jeg brug for at bruge variable henvisninger som feks.
Worksheets("myshit").Cells(nr, 1).Value
det funger jo fint. Med hvad med en range som i dette chart.

ActiveChart.SetSourceData Source:=Sheets("Afd").Range("B1:K3")

Range("B1:K3") hvordan skrives den som variabel.
noget i retning ("B" & nr:K3") er jo ikke nok.

Hvordan gøres bogstavet variabelt. Eller er der en anden måde at
angive range på kun med numerisk henvisning.

Tak....
Morten
Avatar billede kabbak Professor
29. januar 2009 - 23:54 #1
Range(Cells(1,2),Cells(3,11))
er det samme som
Range("B1:K3")
du kan udskifte alle tal med variabler
Avatar billede tg4600 Nybegynder
30. januar 2009 - 08:24 #2
Du er tæt på at ramme rigtigt ;-)

RowStart = 1
RowEnd = 3
Range("B" & RowStart & ":K" & RowEnd)

Det vil give dig Range("B1:K3")

/Tommy
Avatar billede max4user Nybegynder
30. januar 2009 - 10:28 #3
@Kabbak
Range(Cells(1,2),Cells(3,11))

lader sig ikke compile (red syntax error)

@tg4600
Som jeg skrev, "noget i retning ("B" & nr:K3") er jo ikke nok."
Det er jo kun row der er numerisk, kollonner skal også være variable.

Takker for forsøget.
Avatar billede tg4600 Nybegynder
30. januar 2009 - 11:25 #4
Ok, årsagen til at den fejler er måske at du ikke har givet den nogen handling ;-)

Denne virker, da fint hos mig:
Range(Cells(1, 2), Cells(3, 11)).Select

/Tommy
Avatar billede max4user Nybegynder
30. januar 2009 - 13:07 #5
Ja lige præsis, den virker. Tak skal i ha' nu er jeg halvvejs.
Men min opgave hvor dette skal være parametrisk:
Charts.Add
    ActiveChart.ChartType = xlColumnClustered
    ActiveChart.SetSourceData Source:=Sheets("Afd").Range("B1:K3"), PlotBy:= _
        xlRows

Udskifter jeg med denne som ikke virker ?
Charts.Add
    ActiveChart.ChartType = xlColumnClustered
    ActiveChart.SetSourceData Source:=Sheets("Afd").Range(Cells(1, 2), Cells(3, 11)), PlotBy:= _
        xlRows

Kan i løse den / Morten
Avatar billede kabbak Professor
30. januar 2009 - 13:34 #6
Jeg kan ikke se, hvad der er galt, vi prøver en omvej

Dim AD As String
AD = Range(Cells(1, 2), Cells(3, 11)).Address
Charts.Add
    ActiveChart.ChartType = xlColumnClustered
    ActiveChart.SetSourceData Source:=Sheets("Afd").Range(AD), PlotBy:= _
        xlRows
Avatar billede max4user Nybegynder
02. februar 2009 - 13:58 #7
Ja, logikken fejler ikke noget men den aksepteres ikke:
error '438': Object doesn't support this property or method

?
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