Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1116to1120
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Syntax bei Inputbox

Syntax bei Inputbox
Jörg-HH
Guten Abend zusammen
Eine Inputbox kann man ja auf verschiedene Weise behandeln:
1. was reinschreiben (oder auch nicht) und Abbrechen drücken
2. nichts reinschreiben und OK drücken
3. was reinschreiben und OK drücken
Im Lauf der Zeit habe ich gelernt:
Fall 1 heißt vbNullString
Fall 2 heißt ""
Fall 3 macht einen String
Stimmt das so? Vielleicht hab ich da was falsch verstanden, denn mein Code macht nicht, was er soll... Es soll Folgendes geschehen (ist die verkleinerte Mailversion einer großen Datei):
1. User drückt abbrechen - er bekommt Abbruchmeldung, Datei wird dann ohne weiteren Firlefanz geschlossen
2. User schreibt nix rein und drückt ok - er bekommt Mecker und Datei wird auch hier kommentarlos geschlossen
3. User schreibt was Erwünschtes oder Unerwünschtes rein - der Fall ist geklärt (dank eurer Hilfe)
Danke für'n Tip - Jörg
Private Sub Workbook_Open()
Dim i As Integer
Dim FileSaveNameAnbieter As Variant
Dim MldgFa As String
Dim strAnbieterName As String
MldgFa = "Bitte geben Sie Ihren Firmennamen in Kurzform ein" & vbLf & _
"z.B. statt Druckerei Meier GmbH && Co. KG einfach: Meier"
'Dies sorgt dafür, daß die Routinen beim Öffnen der Datei nicht eintreten,,
'wenn (wie in der Mailversion der Fall) die angesprochenen Blätter gar nicht vorhanden sind.
'Klappt nur mit deaktiviertem Option Explicit
If Me.Sheets.Count  3 Then
Exit Sub                                'verhindert, daß msgBox auch bei Mutterdatei  _
erscheint
Else
strAnbieterName = Application.InputBox(MldgFa, "Registrierung")
End If
If strAnbieterName = vbNullString Then
MsgBox "Benutzer hat die Aktion abgebrochen"
ThisWorkbook.Saved = True
ThisWorkbook.Close
ElseIf strAnbieterName = "" Then
MsgBox "Ohne Namen kann die Datei nicht verarbeitet werden"
ThisWorkbook.Saved = True
ThisWorkbook.Close
Else
For i = 1 To Len(strAnbieterName)
Select Case Asc(Mid(strAnbieterName, i, 1))
Case 65 To 90, 97 To 122, 196, 214, 220, 223, 228, 246, 252
Case Else:
MsgBox "Einen EINFACHEN Namen bitte! Vermeiden Sie Sonderzeichen usw."
GoTo NameEingeben
End Select
Next i
End If
ThisWorkbook.Worksheets("Formular").Range("C2").Value = strAnbieterName
MsgBox "Speichern Sie die Datei in einem Ordner Ihrer Wahl." & vbLf & _
"Verändern Sie NICHT den neuen Dateinamen, da sonst" & vbLf & _
"die Rücksendung Ihres Angebots nicht automatisch" & vbLf & _
"eingelesen werden kann und unberücksichtigt bleibt"
FileSaveNameAnbieter = Application.GetSaveAsFilename(InitialFileName:=(Left(ThisWorkbook. _
Name, Len(ThisWorkbook.Name) - 4)) & " " & strAnbieterName, FileFilter:="Microsoft Excel-Arbeitsmappe (*.xls), *.xls", Title:="Dateiname für Ihr Angebot")
If FileSaveNameAnbieter  False Then
ActiveWorkbook.SaveAs FileSaveNameAnbieter
Else
If MsgBox("Sie haben den Vorgang abgebrochen - ist das beabsichtigt?", vbYesNo) = vbYes  _
Then
ThisWorkbook.Saved = True
ThisWorkbook.Close
Else
GoTo NameEingeben
End If
End If
End If
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Syntax bei Inputbox
17.11.2009 18:44:39
Christian
hallo Jörg,
so zB - gruß Christian
Sub testit()
Dim v
v = Application.InputBox("text")
Select Case v
Case "": MsgBox "leere Eingabe"
Case False: Exit Sub
Case Else: MsgBox v
End Select
End Sub

AW: Syntax bei Inputbox
17.11.2009 19:12:13
Josef
Hallo Jörg,
Sub IPBox()
  Dim strInput As String
  
  strInput = InputBox("Eingabe:", "Ihre Eingabe")
  
  If StrPtr(strInput) = 0 Then
    MsgBox "Abbruch"
  ElseIf strInput = "" Then
    MsgBox "OK - ohne Eingabe"
  Else
    MsgBox "Eingabe:" & vbTab & strInput
  End If
  
End Sub

Gruß Sepp

Anzeige
Danke, Jungs - klappt oT
17.11.2009 19:52:30
Jörg-HH

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige