Zum Inhalt springen

VBA EXcel - Abfrage in Dialogbox


Empfohlene Beiträge

Geschrieben

Moin,

ganz kurz: -habe nur rudimentäres VB-Wissen.

Frage: Ich möchte das beim Starten einer Excel Datei eine Dialogbox aufpoopt in der der User einen Monat eintragen kann. Der Monat soll dann in eine Variable einglesen werden. Wie kriege ich den Start des Dialoges nach Öffnen der Datei hin? Wie bastele ich mir diesen Dialog?

...und als goodie: wie kann ich in einem Makro die Existenz von Dateien überprüfen?

Geschrieben

Also das mit dem Dialog, der aufklappen soll, wenn du das dokument öffnest, ist eigentlich kein problem,

gehste an der seite in den Projekt-Explorer und wählst "DieseArbeitsmappe aus", und dann über der Arbeitsfläche, in der du deinen Code verfasst siehste zwei Dropdownmenüs, im linken wählste "Workbook" und im rechten "open".

da kannst nun was reinschreiben, was ausgeführt wird wenn du das dokument öffnest.

und zum eintragen nimmste entweder die InputBox, schauste in die hilfe steht sie erklärt, oder du machst dir nen eigenes formular.

Geschrieben

Sorry für den Doppelpost, aber irgendwie habe ich keine Edit-Funktion gefunden....

nagut nun aber zu deiner zweiten Frage, das kannste mit dem FileSystemObject lösen.

also erstes musste unter "Extras->Verweise" die Microsoft Scripting-Runtime hinzufügen.

danach kannste mit folgendem Code überprüfen ob ne Datei existiert


Dim fs As FileSystemObject

Set fs = CreateObject("Scripting.FileSystemObject")

If fs.FileExists("[COLOR="Red"]E:/Test.ini[/COLOR]") Then

    [Dein Code]

End If

den rotmakierten Pfad musste natürlich anpassen, wo deine Datei liegt.

Geschrieben

danke erstmal für die antwort.

noch eine frage: wie genau kann ich, nachdem der String in der InputBox eingelesen wurde die Eingabe mit mehreren Werten vergleichen?

ich möchte ne Kontrolle einbauen:

wenn Monat nicht Januar, Februar, März etc.

dann MsgBox Fehlermeldung

ansonsten weiter im Programm.

bräuchte mal die genaue Syntax wie ich das mache.

Geschrieben

also direkt für dein Problem ist wohl das kürzeste folgendes:


Dim rueckgabe As String

rueckgabe = InputBox("Geben Sie einen Monat ein!", "Monat")

If Not rueckgabe = "" Then

    If IsDate(rueckgabe & " 1, 2006") Then

        [Dein Code falls Eingabe ein Monat]

    Else

        [Dein Code falls Eingabe kein Monat]

    End If

Else

    MsgBox "Falsche Eingabe", vbCritical, "Fehler"

End If

und sont kannst du solche überprüfungen auch mit "OR" und "AND" verknüpfen. z.B.
If rueckgabe = "bla bla bla" Or rueckgabe = "blu blub" then ...
If rueckgabe > 3 And rueckgabe <= 9 then

ich gehe nun mal davon aus, das du weißt was die AND und OR verknüpfungen bedeuten.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...