Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema InputBox
BildScreenshot zu InputBox InputBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

If Then Abfrage in Sub

Betrifft: If Then Abfrage in Sub von: Tom
Geschrieben am: 22.09.2020 18:32:09

Hallo liebes Forum,
ich verzweifle gerade an einer Aufgabe bei der ich euch um Hilfe bitte.
Ich möchte in Tabelle Abrechnung folgenden Code eingeben der dann eine Zelle in Tabelle Stammdaten überprüft ob eine Zelle einen Wert enthält.Wenn sie leer ist soll ein Wert aus der InputBox übergeben werden.

Die InputBox funktioniert prima aber die Abfrage wird nicht abhängig davon ausgeführt ob die angegebene Zelle in Tabelle Stammdaten leer ist, sondern bei jedem Seitenaufruf.
Was mache ich falsch?

Sheets("Stammdaten").Activate
If IsEmpty(R34) Then MsgBox "Bite gebe den Bruttolohn für Monat Januar ein" Else:

Dim eingabe As String
'InputBox mit eigenem Dialogfeld + Titel + Textfeld
eingabe = InputBox("Zur Berechnung des Durchschnitlichen Stundenlohns wird der Bruttolohn Januar 2021 benötigt", "Bruttolohn Januar 2021")
'Prüfen ob etwas eingetragen wurde
If eingabe = "" Then
'Kein Eintrag
MsgBox "Ohne Eingabe des Bruttolohns funktioniert die Berechnung des Durchschnittslohns leider nicht", vbOKOnly + vbInformation, "Hinweis"
Sheets("Stammdaten").Activate
Range("R34").Value = "0"
Else
'Es wurde etwas eingetragen
MsgBox "Eintrag wurde übernommen", vbOKOnly + vbInformation, "Hinweis"
Sheets("Stammdaten").Activate
Range("R34").Value = eingabe
End If

Betrifft: AW: If Then Abfrage in Sub
von: Hajo_Zi
Geschrieben am: 22.09.2020 18:41:41

Sheets("Stammdaten").Range("R34") = eingabe

Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue.Ich baue keine Datei nach.

Sollte die Datei verlinkt werden?

Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten
http://www.ms-office-forum.de/forum/showthread.php?t=322895
änderrn.

Bilder lade ich mir nicht runter, da Excel damit nichts anfangen kann.

http://www.excel-ist-sexy.de/bilder-statt-datei/

Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.

Das ist nur meine Meinung zu dem Thema.

GrußformelHomepage

Betrifft: blablablablablablabla
von: D.Saster
Geschrieben am: 22.09.2020 19:36:24



Betrifft: AW: If Then Abfrage in Sub
von: Nepumuk
Geschrieben am: 22.09.2020 18:49:48

Hallo Tom,

teste mal:

Public Sub Test()
    
    Dim eingabe As String
    
    With Worksheets("Stammdaten")
        
        If IsEmpty(.Range("R34").Value) Then
            
            MsgBox "Bite gebe den Bruttolohn für Monat Januar ein"
            
            'InputBox mit eigenem Dialogfeld + Titel + Textfeld
            eingabe = InputBox("Zur Berechnung des Durchschnitlichen Stundenlohns " & _
                "wird der Bruttolohn Januar 2021 benötigt", "Bruttolohn Januar 2021")
            If StrPtr(eingabe) = 0 Then Exit Sub 'Abbrechen geklickt
            
            'Prüfen ob etwas eingetragen wurde
            If eingabe = vbNullString Then
                'Kein Eintrag
                MsgBox "Ohne Eingabe des Bruttolohns funktioniert die Berechnung des " & _
                    "Durchschnittslohns leider nicht", vbOKOnly Or vbExclamation, "Hinweis"
                .Range("R34").Value = 0
            ElseIf IsNumeric(eingabe) Then
                'Es wurde etwas eingetragen
                MsgBox "Eintrag wurde übernommen", vbOKOnly Or vbInformation, "Hinweis"
                .Range("R34").Value = CDbl(eingabe)
            Else
                MsgBox "Bitte nur Zahlen eingeben", vbCritical, "Falsche Eingabe"
            End If
        End If
    End With
End Sub

Wenn nichts eingegeben wird schreibst du eine Null in R34, damit ist ein weiterer Start des Programms erfolglos. Das würde ist überdenken.

Gruß
Nepumuk

Betrifft: AW: If Then Abfrage in Sub
von: Tom
Geschrieben am: 22.09.2020 19:29:18

PERFEKT!!!

Hallo Nepumuk,
vielen lieben Dank das war genau das was ich brauchte.
Ich wünsche Dir noch einen schönen Abend.

Beiträge aus dem Excel-Forum zum Thema "If Then Abfrage in Sub"