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

variabelen

Status
Niet open voor verdere reacties.

brandernl

Gebruiker
Lid geworden
19 okt 2004
Berichten
445
Ik vind het leuk om terugkerende handelingen op te lossen met VBA.
Ik had een (rooster)bestand aangemaakt voor 2007 en wil de bladnamen een duidelijke verwijzing geven.
De code gaat goed tot de regel Set Van = Nothing; ik moet de variabele toch leegmaken voor het volgende blad?
Melding: Compileerfout, object vereist.
Wie weet wat ik fout doe?

Sub BladNaam()
Dim Van, Tot As String
Dim i As Integer
For i = 1 To Worksheets.Count
Van = Format(Range("E10").Value, "dd-mmm") 'in cel E10 staat een datum
Tot = Format(Range("AF10").Value, "dd-mmm")'in cel AF10 staat een datum
Worksheets(i).Name = Van & " tot " & Tot
Set Van = Nothing
Set Tot = Nothing
Next
End Sub
 
Volgens mij gaat dit werken. Probeer het eens uit:

Code:
Sub BladNaam()
Dim Van As String, Tot As String, i As Integer, ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
    Van = Format(ws.Range("E10"), "dd-mmm") 'in cel E10 staat een datum
    Tot = Format(ws.Range("AF10"), "dd-mmm") 'in cel AF10 staat een datum
    ws.Name = Van & " tot " & Tot
Next
End Sub

Wigi
 
heren,
dank. Ik ben morgen weer op m'n plek en zal het proberen.
Ben nog wel benieuwd waarom deregel set Van = nothing de foutmeldlng geeft. Je komt die instructie heel veel tegen.
 
Hoi brandernl,

Je hoeft je Variable niet leeg te maken.

Je hebt hem gedeclareerd binnen een sub. Na de End Sub is je programma deze variable helemaal kwijt.
Anders is het als je er een CreateObject gebruikt. Deze moet je wel op nothing zetten.

Suc6
 
heren,
dank. Ik ben morgen weer op m'n plek en zal het proberen.
Ben nog wel benieuwd waarom deregel set Van = nothing de foutmeldlng geeft. Je komt die instructie heel veel tegen.

Dat kom je juist vrij weinig tegen, althans in goede code toch. De reden is zoals Spiderman zegt. Een tweede reden is dat je variabelen gewoon een andere "waarde" kan geven zonder ze leeg te maken.

Wigi
 
Hij werkt (natuurlijk) als een speer.

Ik wist wel dat de variabele leeg is na "end sub" maar dacht dat ie in een for next loop wel leeg gemaakt moest worden.
Weer wat geleerd

Heren, veel dank!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan