Avatar billede olsen205 Nybegynder
23. juni 2005 - 09:06 Der er 6 kommentarer og
1 løsning

Union Excel

Har angivet følgende union:

Dim r1 As Range, r2 As Range, r3 As Range, r4 As Range, r5 As Range, r6 As Range, r7 As Range, r8 As Range, rg As Range

Set r1 = Range("B6:B14")
Set r2 = Range("D6:D14")
Set r3 = Range("F6:F14")
Set r4 = Range("H6:H14")
Set r5 = Range("j6:j14")
Set r6 = Range("l6:l14")
Set r7 = Range("n6:n14")
Set r8 = Range("p6:p14")

Set rg = Union(r1, r2, r3, r4, r5, r6, r7, r8)

rg.Range(Cells(1, 1), Cells(2, 4)).Select

End Sub

Mit problem er at når jeg angiver min selection så markere den også celler som ikke er angivet i Union, Hvorfor og hvad gør jeg?

Håber nogle kan hjælpe...
Avatar billede olsen205 Nybegynder
23. juni 2005 - 09:09 #1
Lige så i forstår mig:

Jeg ønsker i overnævnte at den skal markerer:

Område B6:B7, D6:D7, F6:F7 samt H6:H7
Avatar billede bak Forsker
25. juni 2005 - 12:08 #2
Sub nn()
Dim r1 As Range, r2 As Range, r3 As Range, r4 As Range, r5 As Range, r6 As Range, r7 As Range, r8 As Range, rg As Range
Dim rInter As Range
Set r1 = Range("B6:B14")
Set r2 = Range("D6:D14")
Set r3 = Range("F6:F14")
Set r4 = Range("H6:H14")
Set r5 = Range("j6:j14")
Set r6 = Range("l6:l14")
Set r7 = Range("n6:n14")
Set r8 = Range("p6:p14")

Set rg = Union(r1, r2, r3, r4, r5, r6, r7, r8)
Set rInter = Intersect(rg, Range("6:7"))
rInter.Select
End Sub
Avatar billede bak Forsker
25. juni 2005 - 12:20 #3
Udskift lige 3. sidste linie med
Set rInter = Intersect(rg, Range("A6:H7"))
Avatar billede bak Forsker
25. juni 2005 - 13:17 #4
Forklaringen er at i denne linie
rg.Range(Cells(1, 1), Cells(2, 4)).Select
angiver rg kun udgangspunktet for selectering, ikke at selecteringen kun skal ske indenfor rg. Det er altid øverste venstre hjørne af rg, der er udgangspunkt.
Det er nemmest at se hvis rg kun er lig B6. Det vil markere de samme celler.

Jeg har brugt intersect der kun giver skæringspunkter
Din kode kunne også forkortes lidt således

Sub test()
Dim rg1 As Range
Set rg1 = Intersect(Range("b:b,d:d,f:f,h:h,j:j,l:l,n:n,p:p"), Range("6:14"))
Intersect(rg1, Range("b6:h7")).Select
End Sub
Avatar billede olsen205 Nybegynder
25. juni 2005 - 13:41 #5
Virker Perfekt... Hvis du lige smider et svar så skal du få dine point...

Takker :-)
Avatar billede olsen205 Nybegynder
25. juni 2005 - 13:44 #6
Hold kæft hvor er du go!!! Det skal du altså ha...
Avatar billede bak Forsker
26. juni 2005 - 12:34 #7
ok :-)
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
Kurser inden for grundlæggende programmering

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