Eingabe in Inputbox mit mehreren Kontrolle

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
InputBox MsgBox
Bild

Betrifft: Eingabe in Inputbox mit mehreren Kontrolle
von: svenja
Geschrieben am: 10.09.2015 10:08:01

Beim Klicken auf Button, wird ein InputBox gezeigt, mit der Eingabe von einer beliebigen Nr. XXX möchte ich vier Angelegenheiten kontrollieren und durchführen:
1. falls nichts eingegeben wurde, exit sub;
2. falls eine Nr. XXX eingegeben wurde, suchen in Spalte A des aktuellen Sheet, kontrollieren ob diese Nr. vorhanden ist, wenn XXX nicht vorhanden ist, wird ein MsgBox "Diese Nr. ist nicht vorhanden!" gezeigt, dann zurück zum Anfang, also kommt wieder InputBox;
3. falls XXX in Spalte A gefunden wurde, weiter checken ob in einem gegebenen Zielordner ein Unterordner mit dem Name XXX vorhanden ist. Wenn Unterordner XXX bereits vorhanden ist, kommt MsgBox "Ordner wurde bereits erstellt.", dann zurück zum Anfang, wieder InputBox;
4. falls Unterordner nicht vorhanden ist, würde ein neuer Unterordner mit dem Name(eingegebenen Nr.) XXX im Zielordner erstellt.
Ich habe bisher schon so geschrieben:

Sub exportieren()
Dim CopyPath$, SearchStr$
Dim Rg As Range
CopyPath = "C:\Users\Desktop\"
''Neuer Ordner Adresse
SearchStr = InputBox("Geben Sie bitte eine laufende Nr. ein!", "Eingabe")
''Nr. eintragen
If SearchStr = "" Then Exit Sub
''Ohne Eingabe, dann Prozess geschlossen
Set Rg = Columns(1).Find(SearchStr, lookat:=xlWhole)
''Suche nach eingegebene Nr. in Spalte A der aktuellen Tabelle
If Rg Is Nothing Then
''falls keine Nr. gefunden
MsgBox "Diese Nr. ist nicht vorhanden!"
''Hinweis kommt
Else
''wenn eingegebene Nr. gefunden
MkDir CopyPath & SearchStr
On Error GoTo 0
End If
End Sub

Kann jemand helfen, um die 3. Kontrolle (ob Unterordner XXX vorhanden ist) zu schreiben?
Vielen Dank schon mal im Voraus!!

Bild

Betrifft: AW: Eingabe in Inputbox mit mehreren Kontrolle
von: Rudi Maintaire
Geschrieben am: 10.09.2015 10:29:21
Hallo,
teste mal.

Sub exportieren()
  Dim CopyPath$, SearchStr
  Dim Rg As Range
  
  CopyPath = "C:\Users\Desktop\"
  ''Neuer Ordner Adresse
EINGABE:
  SearchStr = Application.InputBox(prompt:="Geben Sie bitte eine laufende Nr. ein!", Title:=" _
Eingabe", Type:=1)
  ''Nr. eintragen
  
  If SearchStr = False Then Exit Sub
  ''Ohne Eingabe, dann Prozess geschlossen
  
  Set Rg = Columns(1).Find(SearchStr, lookat:=xlWhole)
  ''Suche nach eingegebene Nr. in Spalte A der aktuellen Tabelle
  
  If Rg Is Nothing Then    ''falls keine Nr. gefunden
    
    MsgBox "Diese Nr. ist nicht vorhanden!"    ''Hinweis kommt
    GoTo EINGABE
  Else
    If Dir(CopyPath & SearchStr, vbDirectory) <> "" Then
      MsgBox "Der Ordner existiert bereits"
      GoTo EINGABE
    Else
      ''wenn eingegebene Nr. gefunden
      MkDir CopyPath & SearchStr
    End If
  End If
End Sub

Gruß
Rudi

Bild

Betrifft: AW: Eingabe in Inputbox mit mehreren Kontrolle
von: svenja
Geschrieben am: 10.09.2015 10:50:34
Hi Rudi,
ist erfolgreich gelaufen! Schönen Dank für die so rasche Antwort. Und auch super easy zu verstehen! Danke danke!
Grüße
Svenja

Bild

Betrifft: Nachtrag
von: Rudi Maintaire
Geschrieben am: 10.09.2015 11:26:35
Hallo,
etwas strukturierter und vor allem ohne GoTo:

Sub exportieren()
  Dim CopyPath$, DieNummer
  Dim vRow
  Dim bolEXIT As Boolean
  CopyPath = "c:\test\" '"C:\Users\Desktop\"
  ''Neuer Ordner Adresse
  Do While Not bolEXIT
    DieNummer = Application.InputBox _
      (prompt:="Geben Sie bitte eine laufende Nr. ein!", _
      Title:="EINGABE", _
      Type:=1)    'Nr. eingeben
    If DieNummer = False Then
      'Ohne Eingabe, dann Prozess geschlossen
      bolEXIT = True
    Else
      'Suche nach eingegebene Nr. in Spalte A der aktuellen Tabelle
      vRow = Application.Match(DieNummer, Columns(1), 0)
      If IsError(vRow) Then    ''falls keine Nr. gefunden
        MsgBox "Diese Nr. ist nicht vorhanden!"    ''Hinweis kommt
      Else         'wenn eingegebene Nr. gefunden
        If Dir(CopyPath & DieNummer, vbDirectory) <> "" Then
          MsgBox "Der Ordner existiert bereits"
        Else
          MkDir CopyPath & DieNummer
          MsgBox "Ordner wurde angelegt."
          bolEXIT = True
        End If
      End If
    End If
  Loop
End Sub
Gruß
Rudi

Bild

Betrifft: AW: Eingabe in Inputbox mit mehreren Kontrolle
von: SF
Geschrieben am: 10.09.2015 11:33:16
Hola,
verklinkst du dann auch bitte deine Fragen in den verschiedenen Threads untereinander, damit nicht noch mehr unnötige Arbeit entsteht?
Danke.
Gruß,
steve1da

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Eingabe in Inputbox mit mehreren Kontrolle"