Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Textbox reagiert nicht

Betrifft: Textbox reagiert nicht von: Kurt
Geschrieben am: 24.07.2014 15:35:52

Hallo allerseits,
ich habe eine Textbox1 da ist der Name der aktuellen Datei
hinterlegt.
Ändere ich jetzt den Namen, dann reagiert die Textbox aber gibt
mir immer zurück, "Name vorhanden etc."
Was kann dies sein?
Habe alle Möglichkeiten getestet mit EXIT und auch AfterUpdate.

Private Sub TextBox1_Change()
'
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'
Private Sub TextBox1_AfterUpdate()
         
DIM OrdNam As Variant, Ord As Byte, Pfad As String
Dim tb As String
Dim strPath$

DateiNam = ActiveWorkbook.Name          
    If Dir(tb) <> "" Then
MsgBox "Dateiname nicht vorhanden, jetzt erstellen "

       ' Workbooks.Add
       ' Application.DisplayAlerts = False
       ' ActiveWorkbook.SaveAs Filename:=tb, FileFormat:=xlNormal, _
            Password:="", WriteResPassword:="", ReadOnlyRecommended:=False
       ' Application.DisplayAlerts = True
      Else  
        MsgBox ("TEXTBOX!   Achtung die Datei mit dem NAMEN" & Chr(13) & Chr(13) _
                    & tb & Chr(13) & Chr(13) & _
                    "existiert schon !" _
        & Chr(13) & Chr(13) & "Bitte ( NAMEN ) oder MMYYYY prüfen ! ")
    End If
End Sub

würde mich freuen wenn jemand einen Tip hat,
danke im Voraus,
höflichst kurt

  

Betrifft: AW: Textbox reagiert nicht von: Oberschlumpf
Geschrieben am: 24.07.2014 15:49:27

Hi Kurt

du...
Dim tb As String
...deklarierst die Variable tb als String. tb erhält KEINEN Inhalt

dann prüfst du...
If Dir(tb) <> "" Then
...ob Dir(tb) NICHT leer ist

IST aber leer...(es könnte auch stehen Dir("")...ergibt auch = "")
Else
MsgBox ("TEXTBOX! Achtung die Datei mit dem NAMEN" & Chr(13) & Chr(13) _usw
...deswegen macht der Code das, was nach ELSE kommt

Welchen Wert/Inhalt soll tb denn erhalten? Den Inhalt aus der Textbox?
Dann vor der If-Zeile zuerst
tb = Textbox1.Text

noch einfacher:
vergiss tb, schreib doch

If Dir(TextBox1.Text) <> "" Then


allerdings macht diese If-Prüfung so auch keinen Sinn.
Denn wenn <> "", DANN IST Dateiname doch vorhanden.

besser ist vielleicht

If Dir(TextBox1.Text) = "" Then

Hilfts, oder hab ich was falsch verstanden?

Ciao
Thorsten


  

Betrifft: AW: Textbox reagiert nicht von: fcs
Geschrieben am: 24.07.2014 15:54:56

Hallo Kurt,

diese Prüfung ist nicht korrekt:

    If Dir(tb) <> "" Then

Dir(tb) gibt einen Leerstring zurück, wenn der Dateinamen in der tb noch nicht existiert.
Ist der Dateiname vorhanden, dann wird der Dateiname als Wert zurückgegeben.
Du musst die Zeile also ändern in
    If Dir(tb) = "" Then

damit die Logik in deinem Ablauf stimmt.

Verwende hier nicht das Textbox_Change-Ereignis. Dieses reagiert auf jede Zeicheneingabe. Da der Dateiname erst mit dem letzten Zeichen komplett ist bekommst nach jedem Zeichen die unerwünschte Meldung.
Funktionieren sollte es mit dem EXIT-Ereignis, dazu muss aber auf dem Userform mindestens einweiteres aktives Steuerelement vorhanden sein.

Gruß
Franz


  

Betrifft: Hallo Torsten und Franz von: Kurt
Geschrieben am: 24.07.2014 16:32:31

Habe so geändert:
If Dir(TextBox1.Text) = "" Then

MsgBox "Dateiname nicht vorhanden, jetzt erstellen "
'Workbooks.Add
' Application.DisplayAlerts = False
' ActiveWorkbook.SaveAs Filename:=tb, FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False
' Application.DisplayAlerts = True
Else
MsgBox ("TEXTBOX! Achtung die Datei mit dem NAMEN: " & Chr(13) & Chr(13) _
& tb & Chr(13) & Chr(13) & _
"existiert schon !" _
& Chr(13) & Chr(13) & " Bitte ( NAMEN ) oder MMYYYY prüfen ! ")
End If


es kommt jetzt direkt dateiname nicht vorhanden,
obwohl ich nichts geändert habe also der Dateiname mit der Textbox
stimmt überein.

gruß
kurt


  

Betrifft: Habe natürlich... von: Kurt
Geschrieben am: 24.07.2014 16:36:01

Hallo zusammen,
habe natürlich ext eingesetzt und
tb = Textbox1.Text

gruß
kurt


  

Betrifft: AW: Habe natürlich... von: UweD
Geschrieben am: 24.07.2014 16:58:33

Hallo

Ich denke du gibst NICHT den kompletten Pfad in die Textbox ein ??

Wenn nur der Namen eingetragen wird, dann den Pfad ggf vorher so festlegen.

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Dim Pfad As String
    Dim TB
    Pfad = "C:\Temp\"
    TB = TextBox1.Text
    If Dir(Pfad & TB) = "" Then
        MsgBox "Dateiname nicht vorhanden, jetzt erstellen "
        Workbooks.Add
         Application.DisplayAlerts = False
         ActiveWorkbook.SaveAs Filename:=Pfad & TB, FileFormat:=xlNormal, _
            Password:="", WriteResPassword:="", ReadOnlyRecommended:=False
         Application.DisplayAlerts = True
    Else
        MsgBox ("TEXTBOX! Achtung die Datei mit dem NAMEN: " & Chr(13) & Chr(13) _
            & TB & Chr(13) & Chr(13) & _
            "existiert schon in " & Pfad _
            & Chr(13) & Chr(13) & " Bitte ( NAMEN ) oder MMYYYY prüfen ! ")
    End If


End Sub
Gruß UweD


  

Betrifft: Hallo zusammen -) von: Kurt
Geschrieben am: 24.07.2014 17:05:45

Hallo zusammen,
erst mal DANKE für die Unterstützung.
Habe die Lösung gefunden.
Habe xls noch angefügt, siehe unten meine Testzeilen
und siehe da alles ok !!!

DateiNam = ActiveWorkbook.Name 'ActiveSheet.Name
'MsgBox DateiNam
tb = TextBox1.Text
'MsgBox tb
If DateiNam = tb & ".xls" Then
MsgBox "sind gleich"
Else
MsgBox "falsch"
End If
Exit Sub

gruß kurt


  

Betrifft: Leider noch einkleines Problem... von: Kurt
Geschrieben am: 24.07.2014 17:16:25

Hallo,
ich habe gerade eine Datei erstellt also mit geänderten Namen,
nun soll er mir diese Datei im gesamten Verzeichnis
prüfen ?
Werde gleich mal von Uwe testen.
gruß kurt


  

Betrifft: habe gerade was im Forum endeckt -) von: walter mb
Geschrieben am: 26.07.2014 15:26:27

Hallo zusammen,
danke nochmals.
Im Forum habe ich was gefunden.
gruß kurt


  

Betrifft: AW: habe gerade was im Forum endeckt -) von: Oberschlumpf
Geschrieben am: 26.07.2014 17:07:22

Hey

bist du Walter oder bist du Kurt?
Wenn Walter + Kurt das Gleiche is, warum verwendest du unterschiedliche Aliase???? :-/

Ciao
ICH


  

Betrifft: AW: habe gerade was im Forum endeckt -) von: Kurt
Geschrieben am: 26.07.2014 22:13:05

Sorry,
hatte das von Walter entdeckt.
Gruß kurt


 

Beiträge aus den Excel-Beispielen zum Thema "Textbox reagiert nicht"