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

Kan een constante, variabel worden

Status
Niet open voor verdere reacties.

wieter

Terugkerende gebruiker
Lid geworden
26 jun 2009
Berichten
1.128
Het gaat over de rode regel in de code.
Met deze code worden gegevens opgehaald uit een gesloten bestand.
In de rode regel wordt het blad bepaald, waarin gezocht moet worden.
Dit blad is echter geen echte constante. De bladnaam is afhankelijk van een waarde in cel B6
Hoe is de syntax van deze regel, zodat de bladnaam afhankelijk kan zijn van cel B6?

Code:
Private Sub CommandButton2_Click()
Const pad As String = "C:\Users\Louis\Documents\"
Const bestand As String = "Storingen.xlsx"
[COLOR="#FF0000"]Const blad As String = "Range(B6).Value"[/COLOR]
Dim Regel As Long, Kolom As Integer, Regel2 As Long
Application.ScreenUpdating = False

' Controleer of het bestand bestaat
If Dir(pad & bestand) = "" Then
    MsgBox ("Bestand Niet Gevonden!")
    Exit Sub
End If

With Sheets(1)
Regel2 = .[B65500].End(xlUp).Row + 2 'Naar tweede lege regel in kolom B
For Regel = 1 To 33
Kolom = 1
    .Cells(Regel2, Kolom) = GetValue(pad, bestand, blad, .Cells(Regel, Kolom).Address)
    Regel2 = Regel2 + 1
Next Regel
End With
Application.ScreenUpdating = True
MsgBox ("De oplossingsstrategie is opgehaald")
End Sub
 
Ik denk dat het zo moet werken:
Code:
Private Sub CommandButton2_Click()
Const pad As String = "C:\Users\Louis\Documents\"
Const bestand As String = "Storingen.xlsx"
Const blad As String = [COLOR="#FF0000"]"Sheets(&"Range(B6)&")"[/COLOR]
Dim Regel As Long, Kolom As Integer, Regel2 As Long
Application.ScreenUpdating = False
 
Koud aan de kust Cobbe, dan maar voor PC!
Ga gelijk je wijziging uitproberen.
Alvast bedankt
 
Ja zonnig maar erg koud.
Kom donderdag naar Hasselt weliswaar voor een begrafenis.:(
 
Jou oplossing geeft toch een syntaxfout, lijkt me niet zo eenvoudig.

Na de begrafenis(spijtig), wachten er enkele verwarmde terassen op U.
 
Bv.
Code:
Dim blad As Object
Set blad = Sheets(Range("B6").Value)

Of:
Code:
Dim blad As worksheet
Set blad = Sheets(Range("B6").Value)
 
Laatst bewerkt:
Harry, jou voorstel wordt dan weer niet ondersteund door de Getvalue-functie
 
Code:
Blad = Sheets("Blad1").Range("B6").Value
 
Jaaa! Rudi, jou oplossing werkt dan weer wel.
Hartelijk bedankt Cobbe, Harry en Rudi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan