Thema Datum  Von Nutzer Rating
Antwort
20.05.2016 14:42:29 Lea
NotSolved
20.05.2016 15:13:50 Gast53952
NotSolved
20.05.2016 15:18:23 Gast70594
NotSolved
20.05.2016 15:23:43 Gast55565
NotSolved
20.05.2016 15:31:46 Gast17759
NotSolved
20.05.2016 15:32:17 Gast11481
NotSolved
20.05.2016 15:32:23 Gast9523
NotSolved
20.05.2016 15:32:23 Gast64922
NotSolved
20.05.2016 15:59:15 Gast77151
*****
Solved
20.05.2016 16:42:48 Gast96047
NotSolved
20.05.2016 15:30:55 Gast99152
NotSolved
20.05.2016 15:36:33 Gast58409
NotSolved
Rot If...else führt lediglich die erste Anweisung aus
20.05.2016 16:03:22 Gast55912
NotSolved

Ansicht des Beitrags:
Von:
Gast55912
Datum:
20.05.2016 16:03:22
Views:
773
Rating: Antwort:
  Ja
Thema:
If...else führt lediglich die erste Anweisung aus

Also ich würde es so probieren.

Private Sub CommandButton_Eintragen_Click()
Dim Tabellenende As Integer
Tabellenende = Application.WorksheetFunction.CountA(Worksheets("Rohdaten").Range("A:A"))
Dim x As Integer
x = ListBox_Arbeitspaket.ListIndex
If x = -1 Then
    MsgBox "Nichts ausgewählt!"
    End
Else
    x = x + 2 'da du in Zeile 2 startest+2 nicht plus 1
    If Worksheets("Rohdaten").Cells(x, 1) = UserForm2.TextBox_BudgetPostenNr.Text Then 'nur zur Absicherung
        MsgBox "Prüfung auf Zeilennr. positiv"
        Worksheets("Rohdaten").Cells(x, 3) = UserForm2.TextBox_Arbeitspaket.Text
        MsgBox "erster Wert eingetragen"
        Worksheets("Rohdaten").Cells(x, 5) = UserForm2.ComboBox_Kostenart.Text
        MsgBox "zweiter Wert eingetragen"
        Worksheets("Rohdaten").Cells(x, 6) = UserForm2.TextBox_Details.Text
        Worksheets("Rohdaten").Cells(x, 7) = UserForm2.TextBox_Geplante_Kosten.Text
    End If
End If
MsgBox "Die Änderung wurde eingetragen."
Unload UserForm2
End Sub

Aber mal als Frage. Du schreibst : "alle folgenden nicht mehr, da vorher die Werte in den TextBoxen neu aus der Listbox gezogen werden und damit alle Eingaben überschrieben werden." Dazu finde ich aber im Code nix. GIbt es noch irgendwo ein Change Ereignis? Ansonsten, in welchem Code werden die DAten in die Textboxen  neu gelesen (geht doch nur beim CLick ereignis). Evt. mal einzelen den Code durchgehen und schauen, wann er wieder zum aktualisieren verzweigt.

Oder probiere es so. Da werden die Daten erst zwischengespeichert und dann eingtragen (unanhängig, was sich in den Textboxen ändert).

Private Sub CommandButton_Eintragen_Click()
Dim Tabellenende As Integer
Dim GeplanteKosten
Dim Details
Dim Kostenart
Dim Arbeitspaket

Tabellenende = Application.WorksheetFunction.CountA(Worksheets("Rohdaten").Range("A:A"))
Dim x As Integer
x = ListBox_Arbeitspaket.ListIndex
If x = -1 Then
    MsgBox "Nichts ausgewählt!"
    End
Else
    GeplanteKosten = UserForm2.TextBox_Geplante_Kosten.Text
    Details = UserForm2.TextBox_Details.Text
    Kostenart = UserForm2.ComboBox_Kostenart.Text
    Arbeitspaket = UserForm2.TextBox_Arbeitspaket.Text
    
    x = x + 2 'da du in Zeile 2 startest+2 nicht plus 1
    If Worksheets("Rohdaten").Cells(x, 1) = UserForm2.TextBox_BudgetPostenNr.Text Then 'nur zur Absicherung
        MsgBox "Prüfung auf Zeilennr. positiv"
        Worksheets("Rohdaten").Cells(x, 3) = Arbeitspaket
        MsgBox "erster Wert eingetragen"
        Worksheets("Rohdaten").Cells(x, 5) = Kostenart
        MsgBox "zweiter Wert eingetragen"
        Worksheets("Rohdaten").Cells(x, 6) = Details
        Worksheets("Rohdaten").Cells(x, 7) = GeplanteKosten
    End If
End If
MsgBox "Die Änderung wurde eingetragen."
Unload UserForm2
End Sub

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
20.05.2016 14:42:29 Lea
NotSolved
20.05.2016 15:13:50 Gast53952
NotSolved
20.05.2016 15:18:23 Gast70594
NotSolved
20.05.2016 15:23:43 Gast55565
NotSolved
20.05.2016 15:31:46 Gast17759
NotSolved
20.05.2016 15:32:17 Gast11481
NotSolved
20.05.2016 15:32:23 Gast9523
NotSolved
20.05.2016 15:32:23 Gast64922
NotSolved
20.05.2016 15:59:15 Gast77151
*****
Solved
20.05.2016 16:42:48 Gast96047
NotSolved
20.05.2016 15:30:55 Gast99152
NotSolved
20.05.2016 15:36:33 Gast58409
NotSolved
Rot If...else führt lediglich die erste Anweisung aus
20.05.2016 16:03:22 Gast55912
NotSolved