Avatar billede mortenf Nybegynder
06. september 2002 - 15:03 Der er 11 kommentarer og
1 løsning

Bestemmelse af Range i VBA

Hej,

Jeg anvender eventet:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) - til en custom popup menu.
I denne forbindelse har jeg brug for at bestemme hvilke celler i worksheetet der er selected. Hvor finder jeg denne information??
Target objektet indeholder et væld af information bl.a. column (søjle for første selectede celle), count (antal celler), row (række for første selectede celle) o.s.v.
Det jeg mangler er information om hvor langt og i hvilken retning selektionen er.

Ved I hvor denne information er gemt???

På forhånd tak,
Morten
Avatar billede kedde65 Praktikant
06. september 2002 - 15:11 #1
Den parameter der hedder Target indeholder den celle der er blevet højreklikket i.

VH CK
Avatar billede bak Forsker
06. september 2002 - 15:13 #2
Target.address giver en tekst med start og slut adresse på selectionen
Avatar billede mortenf Nybegynder
06. september 2002 - 15:17 #3
bak: address eksisterer ikke i Target objektet. Hvor ser du dette?
kedde65: row/column i Target angiver den første celle (fra øverste venstre hjørne) i en selected blok. Men, hvordan finder vi de resterende?
Avatar billede kedde65 Praktikant
06. september 2002 - 15:19 #4
Så er det bare et spørgsmål om at tage target og putte den over i en anden variabel.

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    Dim rng As Range
    Set rng = Target
   
    For Each Item In rng
        MsgBox Item.Address
    Next
   
    Set rng = Nothing
   
End Sub

vh ck
Avatar billede mortenf Nybegynder
06. september 2002 - 15:24 #5
bak: Det var en fejl fra min side. Target.address eksisterer jo..... SORRY.
Hvis du opretter et nyt svar får du pointene!

Undskyld,
Morten
Avatar billede bak Forsker
06. september 2002 - 15:26 #6
Det er ok :-)

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
MsgBox Target.Address & "  Kolonner: " & Target.Columns.Count & _
    "  Rækker:" & Target.Rows.Count
End Sub
Avatar billede mortenf Nybegynder
06. september 2002 - 15:28 #7
Godt nok - Tak for hjælpen

god week-end,
Morten
Avatar billede mortenf Nybegynder
09. september 2002 - 09:12 #8
Kan I forklare mig, hvorfor man IKKE kan se Address property'en i VBA IDE Watch vinduet, når Address er en del af Range (... og dermed Target) objektet?

M
Avatar billede bak Forsker
09. september 2002 - 10:38 #9
Morten
Address property'en kommer fint her ved mig.
hvis jeg skriver Target.  kan jeg se address i rullegardinet

bak
Avatar billede mortenf Nybegynder
09. september 2002 - 11:03 #10
"Rullegardin".... er det i Object Browseren eller i Watch Vinduet? .... eller er det hvis du skriver Target og vælger <ctrl>+<j> (her ser jeg også address!).... men altså ikke i Watch vinduet - mystisk!

Ved du om der er en eller anden setting, der slår et eller andet fra i Watch vinduet i forhold til Object Browseren??? Der er flere properties (Character, EntireColumn, EntireRow m.fl.), der ikke vises i mit Watch vindue!

Morten
Avatar billede bak Forsker
09. september 2002 - 13:48 #11
I watch-vindue skal man jo selv vælge hvad man vil sætte watch på og man kan godt vælge Target.Address, men i locals-vinduet har du ret i at man ikke kan finde Address
Avatar billede mortenf Nybegynder
09. september 2002 - 14:51 #12
Jeg havde oprindeligt valgt at watch'e hele Target objektet..... og dermed fik jeg så ikke info om Target.Address.
Problemet med et watch på Target.Address er, at man skal kende til Address property'en og ikke bare kan få den "foræret" ved at watch'e hele Target objektet.
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