• 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.

range in macro fout / of niet fout

Status
Niet open voor verdere reacties.

brandernl

Gebruiker
Lid geworden
19 okt 2004
Berichten
445
Hoe kan het dat

Code:
Set myRange = Range(Range("B1"), Range("B65536").End(xlUp))

in de ene macro goed werkt en

Code:
Set myRange = Worksheets("opslag").Range(Range("B1"), Range("B65536").End(xlUp))

een foutmelding geeft "door object veroorzaakt fout"
Ik heb alleen de naam van het worksheet toegevoegd, dat ie op het juiste blad kijkt
 
Als opslag bestaat, zouden beide moeten werken.
 
Moet zeker werken. mmmmmmm, als je er nog niet uit ben zou je dan een voorbeeld file kunnen posten (zonder gevoelige gegevens :)). Misschien ligt het aan je opbouw.

Groet,
Ferenc
 
In een vlaag van genialiteit ;) bedacht ik me dat in B1 de veldnaam staat, als ik het verander in B2 (de eerste record)

Code:
Set myRange = Worksheets("opslag").Range(Range("B2"), Range("B65536").End(xlUp))

dan loopt ie als een speer.
Kan een van jullie het verklaren?
 
Daarvoor zou ik wat meer info moeten hebben.
Misschien een autofilter welke nog aan staat?


Groet,
Ferenc
 
Ja, wat doe je feitelijk in B1? Normaal gezien zou dat ook mee geselecteerd moeten worden.
 
In plaats van

Code:
Zorggroep = Worksheets("tabellen").Range("J1").Value

Select Case Zorggroep
    Case 1
        Zorggroep = Worksheets("tabellen").Range("H2").Value
    Case 2
        Zorggroep = Worksheets("tabellen").Range("H3").Value
    Case 3
        Zorggroep = Worksheets("tabellen").Range("H4").Value
    Case 4
        Zorggroep = Worksheets("tabellen").Range("H5").Value
    Case 5
        Zorggroep = Worksheets("tabellen").Range("H6").Value
    Case 6
        Zorggroep = Worksheets("tabellen").Range("H7").Value
    Case 7
        Zorggroep = Worksheets("tabellen").Range("H8").Value
    Case 8
        Zorggroep = Worksheets("tabellen").Range("H9").Value
    Case 9
        Zorggroep = Worksheets("tabellen").Range("H10").Value
    Case 10
        Zorggroep = Worksheets("tabellen").Range("H11").Value
    Case 11
        Zorggroep = Worksheets("tabellen").Range("H12").Value
    Case 12
        Zorggroep = Worksheets("tabellen").Range("H13").Value
    Case 13
        Zorggroep = Worksheets("tabellen").Range("H14").Value
    Case 14
        Zorggroep = Worksheets("tabellen").Range("H15").Value
    Case 15
        Zorggroep = Worksheets("tabellen").Range("H16").Value
    Case 16
        Zorggroep = Worksheets("tabellen").Range("H17").Value
    Case 17
        Zorggroep = Worksheets("tabellen").Range("H18").Value
    Case 18
        Zorggroep = Worksheets("tabellen").Range("H19").Value
    Case 19
        Zorggroep = Worksheets("tabellen").Range("H20").Value
    Case 20
        Zorggroep = Worksheets("tabellen").Range("H21").Value
    Case 21
        Zorggroep = Worksheets("tabellen").Range("H22").Value
    Case 22
        Zorggroep = Worksheets("tabellen").Range("H23").Value
    Case 23
        Zorggroep = Worksheets("tabellen").Range("H24").Value
    End Select

is

Code:
Zorggroep = Worksheets("tabellen").Range("H1").Offset(Worksheets("tabellen").Range("J1"))

te verkiezen.

Wigi
 
Je maakt een klassieke fout waartegen ik ook nog wel eens zondig. Het moet zijn:

Code:
Set myRange = Worksheets("opslag").Range(Worksheets("opslag").Range("B2"), Worksheets("opslag").Range("B65536").End(xlUp))

Code:
Worksheets("opslag").

moet je meegeven naar de andere bereiken ook.

Wigi
 
Deze kan je vermelden onder het kopje:
Klassieke fouten.

Kom hem zo nu en dan ook nog wel eens tegen :D (erg frustrerend als je denkt dat je klaar bent).

Prettig weekend.
Ferenc
 
Dag Wim en Ferenc,
Excuus voor late reactie, had een lang weekeind (zonder excel).
De klassiek fout begrijp ik, dank.

Maar deze code die Wim geeft, waar moet die code dan staan?


Code:
Zorggroep = Worksheets("tabellen").Range("H1").Offset(Worksheets("tabellen").Range("J1"))

Kan die Case 1, case 2 enz. dan korter? (ik vond hem wel lang)
 
Kijk terug naar mijn post # 9. Vervang het aangeduide stuk door het nieuwe (1 regel).
 
Fantastisch! Dat soort dingen vind je alleen hier denk ik. Niet in de boeken.....
Dank (en ik hoop binnenkort weer eens tijd te hebben om ook een bijdrage te leveren)
 
Fantastisch! Dat soort dingen vind je alleen hier denk ik. Niet in de boeken.....
Dank (en ik hoop binnenkort weer eens tijd te hebben om ook een bijdrage te leveren)

In orde. Join the club on the other side... :D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan