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

Opgelost workbook_open()

Dit topic is als opgelost gemarkeerd
Status
Niet open voor verdere reacties.

antonl007

Gebruiker
Lid geworden
15 sep 2022
Berichten
86
ha lezers,

met workbook_open() zou de bestaande sub moeten worden uitgevoerd in mijn excelletje met Blad1 en Blad2 als werkbladen volgens de vele voorbeelden ook in dit forum maar bij mij niet.

Private Sub workbook_Open()
Dim reeds As Variant
Sheets("Blad1").Select
reeds = Range("d2").Value
If reeds <> "pass" Then
Range("d2").Value = "pass"
Sheets("Blad2").Select
Else
End If
End Sub

Wat doe ik fout?

groet,
Anton
 
Je leest vermoed ik weinig berichten hier van snb e.a., anders had je niet zo vaak naar .Select gegrepen :).
Code:
Private Sub workbook_Open()Dim reeds As Variant
    If Sheets("Blad1").Range("d2").Value <> "pass" Then
        Sheets("Blad1").Range("d2").Value = "pass"
        Sheets("Blad2").Select
    End If
End Sub

Dit werkt bij mij prima. En gebruik de volgende keer dus CODE tags, dan ziet je code er een stuk beter uit.
 
thx voor bericht en advies.
Heb tekst gekopieerd (en Dim op de 2de regel gezet) maar ding werkt dus niet. Er gebeurt niets terwijl het volgens mij de bedoeling is dat veld d2 met "pass" wordt gevuld (nb: is maar een voorbeeld subje om het principe te testen want de echte sub werkt ook helemaal niet (komt er niet eens in met een breakpoint) etc.
 
Misschien een voorbeeldbestandje plaatsen waar helemaal niks in werkt.
Anders: sluit het bestand, open het opnieuw, de code werkt pas bij openen van het bestand.
Private Sub workbook_Open()
 
Bij mij werkt het gewoon.
Wel maar eenmalig, logisch...
Na het afsluiten staat er in cel D2 pass en dan gebeurt er niets meer.
Code:
Private Sub workbook_Open()
    
 If Sheets("Blad1").Range("d2").Value <> "pass" Then
    Sheets("Blad1").Range("d2").Value = "pass"
    Sheets("Blad2").Select
Else
  (MsgBox "er stond pass in cel D2 van Blad1, dus er gebeurt niets."
End If

End Sub
 
Laatst bewerkt:
Ben bang dat hier wat kennis ontbreekt bij mij.

1) zonder jouw msgbox zinnetje zou hij toch blad2 moeten laten zien en klaro en als ik dan naar blad1/d2 zou daar toch "pass" in moeten staan of moet er nog wat achteraan gecommand worden?
2) hoezo kom jij in de else terecht, roept hij 2x (of meerdere???) de sub aan?
 
Ben bang dat hier wat kennis ontbreekt bij mij.
lijkt me wel.

Pak er eens een woordenboek bij en begrijp de code.
Als je het bestand afsluit zonder D2 leeg te maken gebeurt er niets.
 
@AD1957

Welk woordenboek kan hiervoor gebruikt worden?
Ik ben benieuwd.
 
Misschien begrijpt Anton het zo wel.
Of mis ik iets, dan maar eens duidelijker uitleggen wat nou precies de bedoeling is.
 

Bijlagen

Laatst bewerkt:
Citaat van SNB
VBA voor smarties
VBA is een taal die je moet leren met een grammatica- en een woordenboek.

Dus welk woordenboek?
VBA smarties link naar zijn eigen site.
Vaak verwijst hij ook naar het witte boekje, groene boekje enz.
Dit i.v.m. met de Nederlandse taal.
Dus als er een kanonskogel wordt afgeschoten met citaten kom dan ook met een antwoord oftewel wat voor een woordenboek.
 
Lijkt me niet dat deze topic gestart is om een discussie te voeren over een woordenboek.
Het was niet negatief bedoeld, maar het lijkt alsof Anton niet begrijpt wat de code wanneer en wat doet.
Mogelijk dat hij iets anders voor ogen heeft, dan moet er een duidelijkere uitleg komen.
 
ik ben geholpen, vooral met het vermijden van die onzinnige hulp variabelen en een directe
If Sheets("Blad1").Range("d2").Value <> "pass" Then

als voorbeeld

thx all
 
VBA heeft verschillende woordenboeken: in de VBEditor F1 en de Objectbrowser.
Op papier een groot aantal handboeken VBA, te koop in de boekhandel.
 
En tegenwoordig in Office 365 gaat alles met F1 direct naar Microsoft in je webbrowser.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan