• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

MyRange bepalen

Status
Niet open voor verdere reacties.

Jack Nouws

Terugkerende gebruiker
Lid geworden
16 apr 2008
Berichten
1.396
Hallo

In Kolom "D" staan namen en het begint bij "D4" en het eindigt bij ongeveer "D100".
Om niet te veel lege in m'n Combobox te hebben heb ik gekozen voor deze formule, maar dan krijg ik maar een paar (3-4) namen te zien. Wie kan mij vertellen wat hieraan fout is?

Code:
                Set MyRange = Workbooks("Green Trees").Worksheets("Leveranciers").Range("D4:D" & Range("D65536").End(xlUp).Row)

Met vr gr
Jack
 
Jack Nouws,

Code:
Leveranciers").Range("D4[COLOR="Red"]:D[/COLOR]" & Range("D65536
Ik denk dat de rode D er uit moet?
 
Laatst bewerkt:
Een Range zonder specificatie van een tabblad wordt dan door VBA op het actieve werkblad genomen, wat niet noodzakelijk hetzelfde is.

Als je F8 gebruikt zou hebben, zou je de waarde van de .Row kunnen zien.
 
Laatst bewerkt:
Wigi,

Code:
.RowSource = "Voorraad" & "!B35:" & Sheets("Voorraad").Range("B65536").End(xlUp).Address
Ik keek naar een andere code van hem uit een andere vraag, dus als ik het mis heb sorry.
Hier in werd een ComboBox gevuld.
 
Een Range zonder specificatie van een tabblad wordt dan door VBA op het actieve werkblad genomen, wat niet noodzakelijk hetzelfde is.

Als je F8 gebruikt zou hebben, zou je de waarde van de .Row kunnen zien.

Dan zou het er als dit uit moeten zien, maar nu gebeurt er helemaal niets

Code:
           Set MyRange = Workbooks("Green Trees").Worksheets("Leveranciers").Range("D4:D" & Sheets("Leveranciers").Range("D65536").End(xlUp).Row).Address

Met vr gr
Jack
 
Laat die .Address eraf als het om een Range gaat. .Address maakt er een string van.
 
Laat die .Address eraf als het om een Range gaat. .Address maakt er een string van.

Dit doet het niet
Code:
                Set MyRange = Workbooks("Green Trees").Worksheets("Leveranciers").Range("D4:D"  & Sheets("Leveranciers").Range("D65536").End(xlUp).Row)
                 .RowSource = MyRange.Address(External:=True)
En dit doet het wel
Code:
                Set MyRange = Workbooks("Green Trees").Worksheets("Leveranciers").Range("D4:D100") 
                 .RowSource = MyRange.Address(External:=True)
En waar kan dat aan liggen?

Met vr gr
Jack
 
Wat geeft dit terug?
Code:
Sheets("Leveranciers").Range("D65536").End(xlUp).Row
 
'MyRange' is niet leeg! Tenminste dat gok ik van niet. Zet je immediate window maar 'ns aan (in je VBE) en tik dan dit regeltje
Code:
Debug.Print MyRange.Address
onder regel met 'Set...'
Als het goed is, zou je dan het resultaat
Code:
[COLOR="Blue"]D4:D16[/COLOR]
in je immediate window moeten zien verschijnen bij het doorlopen van je code.

Groet, Leo
 
Laatst bewerkt:
Jack, VBE openen >> ctrl-G

Mvg

Rudi
 
@Warme Bakkertje, dank voor het antwoord aan de TS én dat jij nog zo laat op bent...;) (dan kan ik tenminste optijd naar bed:D)

@Jack Nouws, Programmeurs maken ipv 'Debug.Print' ook wel gebruik van een messagebox om even een waarde van een variabele uit te vragen. Dus je zou ook kunnen kiezen voor...
Code:
MsgBox MyRange
...om tussentijds te kijken. Beide regels moet je natuurlijk niet vergeten om te verwijderen na het testen!!!

Groet, Leo
 
...en plaats anders toch maar ff je bestandje. Dat had waarschijnlijk zo'n 16 reacties kunnen schelen...:eek:

Groet, Leo
 
'MyRange' is niet leeg! Tenminste dat gok ik van niet. Zet je immediate window maar 'ns aan (in je VBE) en tik dan dit regeltje
Code:
Debug.Print MyRange.Address
onder regel met 'Set...'
Als het goed is, zou je dan het resultaat
Code:
[COLOR="Blue"]D4:D16[/COLOR]
in je immediate window moeten zien verschijnen bij het doorlopen van je code.

Groet, Leo

Leo

Met deze code
Code:
Set MyRange = Workbooks("Green Trees").Sheets("Leveranciers").Range("D65536").End(xlUp)
Krijg ik dit
Code:
$D$16
Als resultaat

Met vr gr
Jack
 
Zoals al eerder door mij gezegd:

Code:
Set MyRange = Workbooks("Green Trees").Worksheets("Leveranciers").Range("D4:D" & Workbooks("Green Trees").Worksheets("Leveranciers").Range("D65536").End(xlUp).Row)

MOET gewoonweg de range D4: D16 geven. Kan niet anders.

Wigi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan