Thema Datum  Von Nutzer Rating
Antwort
Rot If...else führt lediglich die erste Anweisung aus
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
20.05.2016 16:03:22 Gast55912
NotSolved

Ansicht des Beitrags:
Von:
Lea
Datum:
20.05.2016 14:42:29
Views:
1585
Rating: Antwort:
  Ja
Thema:
If...else führt lediglich die erste Anweisung aus

Hi,

habe ein Userform erstellt, über das Datensätze aus einer Tabelle angezeigt und aktualisiert werden können. Die aktualisierten Werte sollen in die ursprüngliche Tabellenzeile zurückgeschrieben werden.

Das Problem: während die erste Anweisung nach der If-Schleife ausgeführt wird, ziehen sich die Textboxen den ursprünglichen Wert aus der ListBox, sodass die Aktualisierung überschrieben und die ursprünglichen Daten eingetragen werden.

Lediglich die erste Spalte wird so aktualisiert.

Das Ganze wird über die Msg Boxen deutlich.

Wie kann ich das beheben?

Habe mir die Finger wundgegoogelt und den Kopf zerbrochen - hat jemand eine Idee oder Eingebung? Dafür wäre ich sehr sehr sehr sehr dankbar..

Private Sub UserForm_Initialize()
ListBox_Arbeitspaket.RowSource = Worksheets("Rohdaten").Range("A2:G39").Address(External:=True)
End Sub

Private Sub CommandButton_Eintragen_Click()
Dim Tabellenende As Integer
Tabellenende = Application.WorksheetFunction.CountA(Worksheets("Rohdaten").Range("A:A"))
Dim x As Integer
For x = 2 To Tabellenende
If Worksheets("Rohdaten").Cells(x, 1) = UserForm2.TextBox_BudgetPostenNr.Text Then
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
Exit For
Next
MsgBox "Die Änderung wurde eingetragen."
Unload UserForm2
End Sub

Private Sub ListBox_Arbeitspaket_Click()
With ListBox_Arbeitspaket
    UserForm2.TextBox_BudgetPostenNr = .List(.ListIndex, 0)
    UserForm2.TextBox_Teilprojekt = .List(.ListIndex, 1)
    UserForm2.TextBox_Arbeitspaket = .List(.ListIndex, 2)
    UserForm2.ComboBox_Kostenart = .List(.ListIndex, 4)
    UserForm2.TextBox_Details = .List(.ListIndex, 5)
    UserForm2.TextBox_Geplante_Kosten = .List(.ListIndex, 6)
End With
End Sub

Private Sub ComboBox_Kostenart_Change()
ComboBox_Kostenart.RowSource = Worksheets("Kreditoren und TP Zuordnung").Range("E3:E6").Address(External:=True)
End Sub

Private Sub CommandButton_Abbrechen_Click()
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
Rot If...else führt lediglich die erste Anweisung aus
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
20.05.2016 16:03:22 Gast55912
NotSolved