PDA

Vollständige Version anzeigen : Makro hinkt...


OlliB
11.09.2001, 09:17
Hab mal wieder ein kleines Problem:
Lasse in einer Userform Datensätze nach Auswahl über Listbox anzeigen.
Will nun einzelne Feldinhalte ändern, diese sollen auf Button hin
entsprechend die alten Einträge überschreiben. Bei meinem nachfolgenden
Code funktioniert die Angelegenheit jedoch immer nur mit der ersten
Anweisung. Die nachfolgenden Zeilen werden nicht ausgeführt.Warum ? Wo ist
der Fehler ?

Kann mir wer helfen ?

code lautet:

Private Sub Änderung_speichern_Click()

Cells(ListBox2.ListIndex + 1, 1) = CDate(Datum.Text)
Cells(ListBox2.ListIndex + 1, 3).Value = Art.ListIndex
Cells(ListBox2.ListIndex + 1, 4) = Schulung.Value
Cells(ListBox2.ListIndex + 1, 2) = Grund.Text
Cells(ListBox2.ListIndex + 1, 5) = kmgesamt.Text
Cells(ListBox2.ListIndex + 1, 6) = Antritt.Text
Cells(ListBox2.ListIndex + 1, 7).Value = Ort_Beginn.ListIndex
Cells(ListBox2.ListIndex + 1, 8) = Beginn_DG.Text
Cells(ListBox2.ListIndex + 1, 9) = kmeinfach.Text
Cells(ListBox2.ListIndex + 1, 10) = Ende_DG.Text
Cells(ListBox2.ListIndex + 1, 12) = Ankunft.Text
Cells(ListBox2.ListIndex + 1, 11).Value = Ort_Ende.ListIndex
End Sub

<p align="left"><font size="1" face="Century Gothic"><font color="#000000">Moderatorenanmerkung: die Überarbeitung dieses Beitrages ist im Zuge der Arbeiten zu sehen, die durch den Wechsel der Forensoftware zum 01.01.2003 verursacht wurden.

Es wurde in diesem Beitrag ein Link entfernt.</font>

jinx
11.09.2001, 22:06
Moin, OlliB,

Herber (http://www.herber.de/) hilft (File nicht mehr auf dem Server verfügbar):

Text-Index: 616/99
Thema: Dialog
Betrifft: Adressdaten über UserForm in Tabelle ändern
Frage: Wie kann ich Adressdaten, die ich in einer UserForm geändert habe, in die entsprechende Zeile einer Tabelle eintragen lassen?
Antwort: Mit Alt+F11 in die Entwicklungsumgebung wechseln, die UserForm doppelklicken und in das sich jetzt öffnende Modul den nachfolgenden Code eingeben.

*********** Adressdaten über UserForm in Tabelle ändern ***********
<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre><span class="TOKEN">Private Sub</span> ComboBox1_Change()
<span class="TOKEN">Dim</span> R%
R = ComboBox1.ListIndex + 2
TextBox1.Text = Cells(R, 1)
TextBox2.Text = Cells(R, 2)
TextBox3.Text = Trim(Cells(R, 3) &amp; &quot; &quot; &amp; Cells(R, 4))
TextBox4.Text = Cells(R, 7)
TextBox5.Text = Trim(Cells(R, 5) &amp; &quot; &quot; &amp; Cells(R, 6))
TextBox6.Text = Cells(R, 8)
TextBox7.Text = Cells(R, 9)
TextBox8.Text = Cells(R, 10)
<span class="TOKEN">End</span> <span class="TOKEN">Sub</span><hr>********************************
<span class="TOKEN">Private Sub</span> CommandButton1_Click()
<span class="TOKEN">Dim</span> R&amp;
<span class="TOKEN">If</span> ComboBox1.ListIndex = -1 <span class="TOKEN">Then</span>
R = Cells(Rows.Count, 1).End(xlUp).Row + 1
<span class="TOKEN">Else</span>
R = ComboBox1.ListIndex + 2
<span class="TOKEN">End</span> <span class="TOKEN">If</span>
Cells(R, 1) = TextBox1.Text
Cells(R, 2) = TextBox2.Text
<span class="TOKEN">If</span> InStr(TextBox3.Text, &quot; &quot;) &gt; 0 <span class="TOKEN">Then</span>
Cells(R, 3) = Left(TextBox3.Text, InStr(TextBox3.Text, &quot; &quot;) - 1)
Cells(R, 4) = Right(TextBox3.Text, Len(TextBox3.Text) - _
InStr(TextBox3.Text, &quot; &quot;))
<span class="TOKEN">Else</span>
Cells(R, 4) = TextBox3.Text
<span class="TOKEN">End</span> <span class="TOKEN">If</span>
<span class="TOKEN">If</span> InStr(TextBox5.Text, &quot;; &quot;) &gt; 0 <span class="TOKEN">Then</span>
Cells(R, 5) = Left(TextBox5.Text, InStr(TextBox5.Text, &quot; &quot;) - 1)
Cells(R, 6) = Right(TextBox5.Text, Len(TextBox5.Text) - _
InStr(TextBox5.Text, &quot; &quot;))
<span class="TOKEN">Else</span>
Cells(R, 6) = TextBox5.Text
<span class="TOKEN">End</span> <span class="TOKEN">If</span>
Cells(R, 7) = TextBox4.Text
Cells(R, 8) = TextBox6.Text
Cells(R, 9) = TextBox7.Text
Cells(R, 10) = TextBox8.Text
<span class="TOKEN">Call</span> UserForm_Initialize
<span class="TOKEN">End</span> <span class="TOKEN">Sub</span><hr>********************************
<span class="TOKEN">Private Sub</span> CommandButton2_Click()
Unload Me
<span class="TOKEN">End</span> <span class="TOKEN">Sub</span><hr>&nbsp;
<span class="TOKEN">Private Sub</span> UserForm_Initialize()
<span class="TOKEN">Dim</span> i%
i = 2
<span class="TOKEN">Do</span> <span class="TOKEN">Until</span> IsEmpty(Cells(i, 1))
ComboBox1.AddItem Cells(i, 1)
i = i + 1
<span class="TOKEN">Loop</span>
<span class="TOKEN">End</span> <span class="TOKEN">Sub</span></div>
Code eingefügt mit dem MOF Code Converter (http://www.ms-office-forum.net/forum/codeconverter.php)

<font size="1" face="Century Gothic">Moderatorenanmerkung: die Überarbeitung dieses Beitrages ist im Zuge der Arbeiten zu sehen, die durch den Wechsel der Forensoftware zum 01.01.2003 verursacht wurden.

Es wurden in diesem Beitrag der Code für dieses Forum und die Signatur angepasst.<font>