Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1628to1632
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

UF zwei Listboxen und zwei Tabellen

UF zwei Listboxen und zwei Tabellen
02.07.2018 15:49:26
Peter
Hallo ihr Excelspezialisten,
ich benötige wieder einmal eure Hilfe.
Ich habe ein UF mit zwei Listboxen. Die Werte jeder Listbox ist jeweils auf einer Tabelle. Ich habe ein Makro gefertigt, mit welchem ich z. B. einen neuen Datensatz
eingebe und diesen dann übertrage in die jeweilige Tabelle.
Private Sub CommandButton3_Click()
Worksheets("ScantabelleKopierer1Ber").Activate
With Worksheets("ScantabelleKopierer1Ber")
With Range("ScantabelleKopierer1Ber!A2:F501")
Me.Tag = "1"
.Cells(ListBox1.ListIndex + 1, 1).Value = CDbl(TextBox1.Value)
.Cells(ListBox1.ListIndex + 1, 2).Value = (TextBox2.Value)
.Cells(ListBox1.ListIndex + 1, 3).Value = (TextBox3.Value)
.Cells(ListBox1.ListIndex + 1, 4).Value = (TextBox4.Value)
.Cells(ListBox1.ListIndex + 1, 5).Value = CDbl(TextBox5.Value)
.Cells(ListBox1.ListIndex + 1, 6).Value = CDbl(TextBox6.Value)
Me.Tag = ""
End With
End With
End Sub

Private Sub CommandButton5_Click()
Worksheets("ScantabelleKopierer2Ber").Activate
With Worksheets("ScantabelleKopierer2Ber")
With Range("ScantabelleKopierer2Ber!A2:F501")
Me.Tag = "1"
.Cells(ListBox2.ListIndex + 1, 1).Value = CDbl(TextBox7.Value)
.Cells(ListBox2.ListIndex + 1, 2).Value = (TextBox8.Value)
.Cells(ListBox2.ListIndex + 1, 3).Value = (TextBox9.Value)
.Cells(ListBox2.ListIndex + 1, 4).Value = (TextBox10.Value)
.Cells(ListBox2.ListIndex + 1, 5).Value = CDbl(TextBox11.Value)
.Cells(ListBox2.ListIndex + 1, 6).Value = CDbl(TextBox12.Value)
Me.Tag = ""
End With
End With
End Sub
Diese beiden Makros übertragen die Werte. Ich würde dies gerne in einem Makro
lösen, wobei ich die jeweilige Tabelle jedoch nicht aktivieren möchte. Ist dies
möglich, falls ja könnt ihr mir hierbei bitte helfen.
Besten Dank
Gruss Peter

29
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UF zwei Listboxen und zwei Tabellen
02.07.2018 16:31:19
Nepumuk
Hallo Peter,
so?
Private Sub CommandButton3_Click()
    Tag = "1"
    With Worksheets("ScantabelleKopierer1Ber")
        .Cells(ListBox1.ListIndex + 1, 1).Value = CDbl(TextBox1.Value)
        .Cells(ListBox1.ListIndex + 1, 2).Value = TextBox2.Value
        .Cells(ListBox1.ListIndex + 1, 3).Value = TextBox3.Value
        .Cells(ListBox1.ListIndex + 1, 4).Value = TextBox4.Value
        .Cells(ListBox1.ListIndex + 1, 5).Value = CDbl(TextBox5.Value)
        .Cells(ListBox1.ListIndex + 1, 6).Value = CDbl(TextBox6.Value)
    End With
    With Worksheets("ScantabelleKopierer2Ber")
        .Cells(ListBox2.ListIndex + 1, 1).Value = CDbl(TextBox7.Value)
        .Cells(ListBox2.ListIndex + 1, 2).Value = TextBox8.Value
        .Cells(ListBox2.ListIndex + 1, 3).Value = TextBox9.Value
        .Cells(ListBox2.ListIndex + 1, 4).Value = TextBox10.Value
        .Cells(ListBox2.ListIndex + 1, 5).Value = CDbl(TextBox11.Value)
        .Cells(ListBox2.ListIndex + 1, 6).Value = CDbl(TextBox12.Value)
    End With
    Tag = vbNullString
End Sub

Gruß
Nepumuk
Anzeige
AW: UF zwei Listboxen und zwei Tabellen
02.07.2018 16:55:21
Peter
Hallo Nepumuk,
besten Dank für Deine Hilfe - funktioniert aber leider nicht.
Es wird eine völlig andere Zeile ausgewählt.
Anbei die gesamten Codes in UF:
Option Explicit
Private Sub CommandButton3_Click()
Tag = "1"
With Worksheets("ScantabelleKopierer1Ber")
.Cells(ListBox1.ListIndex + 1, 1).Value = CDbl(TextBox1.Value)
.Cells(ListBox1.ListIndex + 1, 2).Value = TextBox2.Value
.Cells(ListBox1.ListIndex + 1, 3).Value = TextBox3.Value
.Cells(ListBox1.ListIndex + 1, 4).Value = TextBox4.Value
.Cells(ListBox1.ListIndex + 1, 5).Value = CDbl(TextBox5.Value)
.Cells(ListBox1.ListIndex + 1, 6).Value = CDbl(TextBox6.Value)
End With
With Worksheets("ScantabelleKopierer2Ber")
.Cells(ListBox2.ListIndex + 1, 1).Value = CDbl(TextBox7.Value)
.Cells(ListBox2.ListIndex + 1, 2).Value = TextBox8.Value
.Cells(ListBox2.ListIndex + 1, 3).Value = TextBox9.Value
.Cells(ListBox2.ListIndex + 1, 4).Value = TextBox10.Value
.Cells(ListBox2.ListIndex + 1, 5).Value = CDbl(TextBox11.Value)
.Cells(ListBox2.ListIndex + 1, 6).Value = CDbl(TextBox12.Value)
End With
Tag = vbNullString
End Sub
'

Private Sub CommandButton3_Click()
'Worksheets("ScantabelleKopierer1Ber").Activate
'With Worksheets("ScantabelleKopierer1Ber")
'With Range("ScantabelleKopierer1Ber!A2:F501")
'  Me.Tag = "1"
'  .Cells(ListBox1.ListIndex + 1, 1).Value = CDbl(TextBox1.Value)
'  .Cells(ListBox1.ListIndex + 1, 2).Value = (TextBox2.Value)
'  .Cells(ListBox1.ListIndex + 1, 3).Value = (TextBox3.Value)
'  .Cells(ListBox1.ListIndex + 1, 4).Value = (TextBox4.Value)
'  .Cells(ListBox1.ListIndex + 1, 5).Value = CDbl(TextBox5.Value)
'  .Cells(ListBox1.ListIndex + 1, 6).Value = CDbl(TextBox6.Value)
'  Me.Tag = ""
'End With
'    End With
'End Sub

Private Sub CommandButton5_Click()
Worksheets("ScantabelleKopierer2Ber").Activate
With Worksheets("ScantabelleKopierer2Ber")
With Range("ScantabelleKopierer2Ber!A2:F501")
Me.Tag = "1"
.Cells(ListBox2.ListIndex + 1, 1).Value = CDbl(TextBox7.Value)
.Cells(ListBox2.ListIndex + 1, 2).Value = (TextBox8.Value)
.Cells(ListBox2.ListIndex + 1, 3).Value = (TextBox9.Value)
.Cells(ListBox2.ListIndex + 1, 4).Value = (TextBox10.Value)
.Cells(ListBox2.ListIndex + 1, 5).Value = CDbl(TextBox11.Value)
.Cells(ListBox2.ListIndex + 1, 6).Value = CDbl(TextBox12.Value)
Me.Tag = ""
End With
End With
End Sub

Private Sub CommandButton6_Click()
Me.CommandButton3 = True
Me.CommandButton5 = True
End Sub
Private Sub CommandButton4_Click()
Dim Zeile%
Zeile = Cells(Rows.Count, 2).End(xlUp).Row
ListBox1.ListIndex = Zeile - 1
ListBox2.ListIndex = Zeile - 1
Me.TextBox2 = "5056i"
Me.TextBox8 = "8056i"
End Sub

Private Sub ListBox1_Click()
If Me.Tag = "1" Then Exit Sub
'klick = ListBox1.ListIndex
With ListBox1
Me.TextBox1 = .List(.ListIndex, 0)
Me.TextBox2 = .List(.ListIndex, 1)
Me.TextBox3 = .List(.ListIndex, 2)
Me.TextBox4 = .List(.ListIndex, 3)
Me.TextBox5 = .List(.ListIndex, 4)
Me.TextBox6 = .List(.ListIndex, 5)
End With
ListBox2.ListIndex = ListBox1.ListIndex
End Sub

Private Sub ListBox2_Click()
If Me.Tag = "1" Then Exit Sub
'klick = ListBox1.ListIndex
With ListBox2
Me.TextBox7 = .List(.ListIndex, 0)
Me.TextBox8 = .List(.ListIndex, 1)
Me.TextBox9 = .List(.ListIndex, 2)
Me.TextBox10 = .List(.ListIndex, 3)
Me.TextBox11 = .List(.ListIndex, 4)
Me.TextBox12 = .List(.ListIndex, 5)
End With
End Sub
Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox9.Value = TextBox3.Value
End Sub

Private Sub TextBox4_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox10.Value = TextBox4.Value
End Sub

'damit die Reihenfolge stimmt bei Änderung muss eine Hilfspalte mit 1,2, bis.... existieren
Private Sub userform_initialize()
Dim wb As Workbook: Set wb = ThisWorkbook
Dim ws As Worksheet
Dim Zeile%
Zeile = Cells(Rows.Count, 2).End(xlUp).Row
With Worksheets("ScantabelleKopierer2Ber")
With ListBox2
.RowSource = "ScantabelleKopierer2Ber!A2:F501"
.ColumnCount = 6
.ColumnWidths = "0,8cm;1,3cm;1,2cm;5,5cm;1,5cm;1,5cm"
.ColumnHeads = False
End With
End With
ListBox2.ListIndex = Zeile - 1
With Worksheets("ScantabelleKopierer1Ber")
With ListBox1
.RowSource = "ScantabelleKopierer1Ber!A2:F501"
.ColumnCount = 6
.ColumnWidths = "0,8cm;1,3cm;1,2cm;5,5cm;1,5cm;1,5cm"
.ColumnHeads = False
End With
End With
ListBox1.ListIndex = Zeile - 1
End Sub
Vielleicht erleichtert es Dir die Arbeit.
Besten Dank
Gruss Peter
Anzeige
AW: UF zwei Listboxen und zwei Tabellen
02.07.2018 17:03:30
Nepumuk
Hallo Peter,
in dem Fall musst du nur ListIndex + 2 nehmen.
Gruß
Nepumuk
AW: UF zwei Listboxen und zwei Tabellen
02.07.2018 17:10:42
Peter
Hallo Nepumuk,
super klappt einwandfrei.
Was jedoch jetzt nicht mehr klappt - warum auch immer - ist Button 4. Es wird die erste Zeile markiert ich möchte jedoch die erste Zeile wählen, in welcher in Spalte B kein Wert ist.
Kannst Du mir bitte auch hier weiterhelfen.
Besten Dank
Gruss Peter
AW: UF zwei Listboxen und zwei Tabellen
02.07.2018 17:49:09
Nepumuk
Hallo Peter,
in welcher Tabelle soll denn das stattfinden?
Gruß
Nepumuk
AW: UF zwei Listboxen und zwei Tabellen
03.07.2018 08:40:01
Peter
Hallo Nepumuk,
leider bin ich gestern nicht mehr dazu gekommen, dass ich Dir antworten kann.
Da beide Tabellen von den Spalten A bis D grundsätzlich die gleiche Anzahl der Daten beinhaltet,
möchte ich in der Tabelle "ScantabelleKopierer1Ber" in Spalte B die erste leere Zelle ermitteln
und in der Listbox1 soll dann die erste "leere Zeile" markiert werden analog dazu auch in Listbox2.
Ich hoffe ich habe mich verständlich ausgedrückt.
Besten Dank
Gruss Peter
Anzeige
AW: UF zwei Listboxen und zwei Tabellen
03.07.2018 10:07:06
Nepumuk
Hallo Peter,
so?
Private Sub CommandButton4_Click()
    Dim Zeile As Long
    With Worksheets("ScantabelleKopierer1Ber")
        Zeile = .Cells(.Rows.Count, 2).End(xlUp).Row
    End With
    ListBox1.ListIndex = Zeile - 1
    ListBox2.ListIndex = Zeile - 1
    TextBox2 = "5056i"
    TextBox8 = "8056i"
End Sub

Gruß
Nepumuk
Anzeige
AW: UF zwei Listboxen und zwei Tabellen
03.07.2018 11:03:30
Peter
Hallo Nepumuk,
besten Dank es funktioniert. Leider habe ich weitere Probleme.
Wenn ich neue Daten eingebe und dies nach Deinem Vorschlag mit Button 3 ausführe als auch, wenn ich es in meiner bisherigen Weise ausführe mit Button 3 und 5 wird in der zweiten Tabelle der Datensatz in die erste Zeile der Tabelle eingefügt. Wenn ich jedoch nach meiner Methode zuerst Button 3 drücke und dann die Listbox 2 in der entspechenden Zeile anklicke und anschliessend Button 5 drücke funktioniert es richtig. D. h. m. E. dass nach dem Button 3 die Listbox 2 nicht mehr aktive ist und damit der Fehler verursacht wird.
Es müsste somit nach drücken von Button 3 die Listbox in der entsprechenden Zeile wieder aktiviert werden. Sehe ich dies richtig, falls zutreffend wie kann dieser Fehler dann behoben werden.
Besten Dank
Gruss Peter
Anzeige
AW: UF zwei Listboxen und zwei Tabellen
03.07.2018 11:18:05
Nepumuk
Hallo Peter,
kannst du eine Mustermappe hochladen damit ich das nachvollziehen kann?
Gruß
Nepumuk
AW: UF zwei Listboxen und zwei Tabellen
03.07.2018 11:20:42
Peter
Hallo Nepumuk,
die Datei in der ich arbeite sind vertrauliche Daten enthalten.
Ich werde eine entsprechende Datei nachbauen und Dir dann übersenden.
Das wird jedoch etwas dauern.
Gruss Peter
AW: UF zwei Listboxen und zwei Tabellen
03.07.2018 15:21:58
Peter
Hallo Nepumuk,
Datei anbei:https://www.herber.de/bbs/user/122463.xlsm
Gruss Peter
AW: UF zwei Listboxen und zwei Tabellen
03.07.2018 15:40:59
Nepumuk
Hallo Peter,
kann ich nicht nachvollziehen. Sowohl das:
Private Sub CommandButton6_Click()
    Tag = "1"
    With Worksheets("ScantabelleKopierer1Ber")
        .Cells(ListBox1.ListIndex + 2, 1).Value = CDbl(TextBox1.Value)
        .Cells(ListBox1.ListIndex + 2, 2).Value = TextBox2.Value
        .Cells(ListBox1.ListIndex + 2, 3).Value = TextBox3.Value
        .Cells(ListBox1.ListIndex + 2, 4).Value = TextBox4.Value
        .Cells(ListBox1.ListIndex + 2, 5).Value = CDbl(TextBox5.Value)
        .Cells(ListBox1.ListIndex + 2, 6).Value = CDbl(TextBox6.Value)
    End With
    With Worksheets("ScantabelleKopierer2Ber")
        .Cells(ListBox2.ListIndex + 2, 1).Value = CDbl(TextBox7.Value)
        .Cells(ListBox2.ListIndex + 2, 2).Value = TextBox8.Value
        .Cells(ListBox2.ListIndex + 2, 3).Value = TextBox9.Value
        .Cells(ListBox2.ListIndex + 2, 4).Value = TextBox10.Value
        .Cells(ListBox2.ListIndex + 2, 5).Value = CDbl(TextBox11.Value)
        .Cells(ListBox2.ListIndex + 2, 6).Value = CDbl(TextBox12.Value)
    End With
    Tag = vbNullString
End Sub

als auch das:
Private Sub CommandButton7_Click()
    Dim Zeile As Long
    With Worksheets("ScantabelleKopierer1Ber")
        Zeile = .Cells(.Rows.Count, 2).End(xlUp).Row
    End With
    ListBox1.ListIndex = Zeile - 1
    ListBox2.ListIndex = Zeile - 1
End Sub
funktionieren wie ich denke dass sie funktionieren sollen. Außer du hast etwas ganz anderes geplant, dann musst du es mir verraten.
Gruß
Nepumuk
Anzeige
AW: UF zwei Listboxen und zwei Tabellen
04.07.2018 07:43:36
Peter
Hallo Nepumuk,
in der von mir übersandten Datei entspricht der CmdBtn6 dem von Dir geänderten cmdBtn3.
Der cmdbtn7 entspricht dem von Dir geänderten cmdbtn4.
Die Funktion dieser Datei ist folgende.
Es gibt 3 Varianten:
1. USB-Stick enthält vollständig alle Daten, dann ist diese Datei nicht erforderlich
2. USB-Stick enthält alle Daten in Spalten B bis D
3. USB-Stick gibt es nicht
Es werden per USB-Stick Daten in die beiden Tabellen übertragen in die Spalten B bis D. Die Spalten E und F sind entweder leer oder mit "0" gefüllt.
Wenn nun die Spalten E und D gefüllt werden, wird die entsprechende Zeile in Listbox1 gewählt und dann die Daten in den Textboxen 5, 6, 11 und 12 ausgefüllt und mit Button6 in Tabelle übertragen.
Wenn keine Daten in den Tabellen vorhanden sind, werden mit Button7 die Zeile in Listbox1 und 2 ausgewählt, in welcher als erste leere Zelle in Spalte B vorhanden ist um hier den jeweiligen Datensatz einzufügen. Mit diesem Button werden auch die Textboxen 2 und 8 mit "5056i" und "8056i" gefüllt. Die Daten der Textboxen 9 und 10 werden mittels Makros Textbox3_Exit und Textbox4_Exit übertragen. Nach füllen der Textboxen 5,6,11,12 werden mit Button6 die Daten wieder in Tabelle übertragen.
Ich hoffe ich habe verständlich ausgeführt, was Zweck dieser Datei ist.
Nochmals besten Dank für Deine Hilfe.
Gruss Peter
Anzeige
AW: Fehler gefunden
04.07.2018 09:13:32
Peter
Hallo Nepumuk,
ich habe die Datei nochmals umgebaut.
Der Fehler liegt darin, dass Textbox1 und 8 mit Listbox1und2_Click gefüllt werden, beim Übertrag in die
Tabelle dürfen aber diese beiden Textboxen nicht übertragen werden.
Mit den u. a. Makros funktioniert es einwandfrei:
Private Sub CommandButton1_Click()
With Range("ScantabelleKopierer1Ber!A2:F501")
Me.Tag = "1"
'  .Cells(ListBox1.ListIndex + 1, 1).Value = TextBox1
.Cells(ListBox1.ListIndex + 1, 2).Value = TextBox2
.Cells(ListBox1.ListIndex + 1, 3).Value = CDbl(TextBox3.Value)
.Cells(ListBox1.ListIndex + 1, 4).Value = (TextBox4.Value)
.Cells(ListBox1.ListIndex + 1, 5).Value = CDbl(TextBox5.Value)
.Cells(ListBox1.ListIndex + 1, 6).Value = CDbl(TextBox6.Value)
Me.Tag = ""
End With
End Sub

Private Sub CommandButton2_Click()
With Range("ScantabelleKopierer2Ber!A2:F501")
Me.Tag = "1"
'  .Cells(ListBox1.ListIndex + 1, 1).Value = TextBox7
.Cells(ListBox2.ListIndex + 1, 2).Value = TextBox8
.Cells(ListBox2.ListIndex + 1, 3).Value = CDbl(TextBox9.Value)
.Cells(ListBox2.ListIndex + 1, 4).Value = (TextBox10.Value)
.Cells(ListBox2.ListIndex + 1, 5).Value = CDbl(TextBox11.Value)
.Cells(ListBox2.ListIndex + 1, 6).Value = CDbl(TextBox12.Value)
Me.Tag = ""
End With
End Sub

Private Sub CommandButton3_Click()
Dim Zeile As Long
With Range("ScantabelleKopierer1Ber!A2:F501")
Me.Tag = "1"
'  .Cells(ListBox1.ListIndex + 1, 1).Value = TextBox1
.Cells(ListBox1.ListIndex + 1, 2).Value = TextBox2
.Cells(ListBox1.ListIndex + 1, 3).Value = CDbl(TextBox3.Value)
.Cells(ListBox1.ListIndex + 1, 4).Value = (TextBox4.Value)
.Cells(ListBox1.ListIndex + 1, 5).Value = CDbl(TextBox5.Value)
.Cells(ListBox1.ListIndex + 1, 6).Value = CDbl(TextBox6.Value)
Me.Tag = ""
End With
With Range("ScantabelleKopierer2Ber!A2:F501")
Me.Tag = "1"
'  .Cells(ListBox1.ListIndex + 1, 1).Value = TextBox7
.Cells(ListBox2.ListIndex + 1, 2).Value = TextBox8
.Cells(ListBox2.ListIndex + 1, 3).Value = CDbl(TextBox9.Value)
.Cells(ListBox2.ListIndex + 1, 4).Value = (TextBox10.Value)
.Cells(ListBox2.ListIndex + 1, 5).Value = CDbl(TextBox11.Value)
.Cells(ListBox2.ListIndex + 1, 6).Value = CDbl(TextBox12.Value)
Me.Tag = ""
End With
With Worksheets("ScantabelleKopierer1Ber")
Zeile = .Cells(.Rows.Count, 2).End(xlUp).Row
End With
ListBox1.ListIndex = Zeile - 1
With Worksheets("ScantabelleKopierer2Ber")
Zeile = .Cells(.Rows.Count, 2).End(xlUp).Row
End With
ListBox2.ListIndex = Zeile - 1
End Sub

Private Sub ListBox1_Click()
If Me.Tag = "1" Then Exit Sub
'klick = ListBox1.ListIndex
With ListBox1
UserForm1.TextBox1 = .List(.ListIndex, 0)
UserForm1.TextBox2 = .List(.ListIndex, 1)
UserForm1.TextBox3 = .List(.ListIndex, 2)
UserForm1.TextBox4 = .List(.ListIndex, 3)
UserForm1.TextBox5 = .List(.ListIndex, 4)
UserForm1.TextBox6 = .List(.ListIndex, 5)
End With
End Sub

Private Sub ListBox2_Click()
If Me.Tag = "1" Then Exit Sub
'klick = ListBox1.ListIndex
With ListBox2
UserForm1.TextBox7 = .List(.ListIndex, 0)
UserForm1.TextBox8 = .List(.ListIndex, 1)
UserForm1.TextBox9 = .List(.ListIndex, 2)
UserForm1.TextBox10 = .List(.ListIndex, 3)
UserForm1.TextBox11 = .List(.ListIndex, 4)
UserForm1.TextBox12 = .List(.ListIndex, 5)
End With
End Sub

Private Sub userform_initialize()
Dim Zeile As Long
'Zeile = Cells(Rows.Count, 2).End(xlUp).Row
With ListBox1
.RowSource = "ScantabelleKopierer1Ber!A2:F501"
.ColumnCount = 6
.ColumnWidths = "0,8cm;1,3cm;1,2cm;5,5cm;1,5cm;1,5cm"
.ColumnHeads = True
End With
With ListBox2
.RowSource = "ScantabelleKopierer2Ber!A2:F501"
.ColumnCount = 6
.ColumnWidths = "0,8cm;1,3cm;1,2cm;5,5cm;1,5cm;1,5cm"
.ColumnHeads = True
End With
With Worksheets("ScantabelleKopierer1Ber")
Zeile = .Cells(.Rows.Count, 2).End(xlUp).Row
End With
ListBox1.ListIndex = Zeile - 1
With Worksheets("ScantabelleKopierer2Ber")
Zeile = .Cells(.Rows.Count, 2).End(xlUp).Row
End With
ListBox2.ListIndex = Zeile - 1
End Sub
Nochmals besten Dank für Deine Hilfe.
Gruss Peter
Anzeige
AW: Fehler bei erster Zeile
04.07.2018 10:21:37
Peter
Hallo Nepumuk,
wie bereits ausgeführt funktioniert die Datei jetzt einwandfrei bis auf einen Fehler.
Wenn die Listbox (Tabelle) bis auf den Columnhead leer ist, wird der erste Eintrag nicht in die zweite Zeile geschrieben sondern in den Columnhead.
Wo liegt hier bitte die Ursache? Kannst Du mir dabei bitte helfen.
Gruss Peter
AW: Fehler bei erster Zeile
04.07.2018 11:15:06
Nepumuk
Hallo Peter,
welche Sub ist dafür verantwortlich?
Gruß
Nepumuk
AW: Fehler bei erster Zeile
04.07.2018 11:18:02
Peter
Hallo Nepumuk,
es handelt sich um die Button 3, 5, und 8.
Am besten Du nimmst Button 8.
Gruss Peter
AW: Fehler bei erster Zeile
04.07.2018 12:12:44
Nepumuk
Hallo Peter,
teste mal:
Private Sub CommandButton8_Click()
    Tag = "1"
    With Worksheets("ScantabelleKopierer1Ber")
        .Cells(ListBox1.ListIndex + 2 + Abs(.ListIndex = -1), 1).Value = CDbl(TextBox1.Value)
        .Cells(ListBox1.ListIndex + 2 + Abs(.ListIndex = -1), 2).Value = TextBox2.Value
        .Cells(ListBox1.ListIndex + 2 + Abs(.ListIndex = -1), 3).Value = TextBox3.Value
        .Cells(ListBox1.ListIndex + 2 + Abs(.ListIndex = -1), 4).Value = TextBox4.Value
        .Cells(ListBox1.ListIndex + 2 + Abs(.ListIndex = -1), 5).Value = CDbl(TextBox5.Value)
        .Cells(ListBox1.ListIndex + 2 + Abs(.ListIndex = -1), 6).Value = CDbl(TextBox6.Value)
    End With
    With Worksheets("ScantabelleKopierer2Ber")
        .Cells(ListBox2.ListIndex + 2 + Abs(.ListIndex = -1), 1).Value = CDbl(TextBox7.Value)
        .Cells(ListBox2.ListIndex + 2 + Abs(.ListIndex = -1), 2).Value = TextBox8.Value
        .Cells(ListBox2.ListIndex + 2 + Abs(.ListIndex = -1), 3).Value = TextBox9.Value
        .Cells(ListBox2.ListIndex + 2 + Abs(.ListIndex = -1), 4).Value = TextBox10.Value
        .Cells(ListBox2.ListIndex + 2 + Abs(.ListIndex = -1), 5).Value = CDbl(TextBox11.Value)
        .Cells(ListBox2.ListIndex + 2 + Abs(.ListIndex = -1), 6).Value = CDbl(TextBox12.Value)
    End With
    Tag = vbNullString
End Sub

Gruß
Nepumuk
Anzeige
AW: Fehler bei erster Zeile
04.07.2018 12:23:46
Peter
Hallo Nepumuk,
es kommt Laufzeitfehler 438
Gruss Peter
AW: Fehler bei erster Zeile
04.07.2018 12:53:24
Nepumuk
Ooooooooooooooooops,
mein Fehler. Versuch es mal so:
Private Sub CommandButton8_Click()
    Tag = "1"
    With Worksheets("ScantabelleKopierer1Ber")
        .Cells(ListBox1.ListIndex + 2 + Abs(ListBox1.ListIndex = -1), 1).Value = CDbl(TextBox1.Value)
        .Cells(ListBox1.ListIndex + 2 + Abs(ListBox1.ListIndex = -1), 2).Value = TextBox2.Value
        .Cells(ListBox1.ListIndex + 2 + Abs(ListBox1.ListIndex = -1), 3).Value = TextBox3.Value
        .Cells(ListBox1.ListIndex + 2 + Abs(ListBox1.ListIndex = -1), 4).Value = TextBox4.Value
        .Cells(ListBox1.ListIndex + 2 + Abs(ListBox1.ListIndex = -1), 5).Value = CDbl(TextBox5.Value)
        .Cells(ListBox1.ListIndex + 2 + Abs(ListBox1.ListIndex = -1), 6).Value = CDbl(TextBox6.Value)
    End With
    With Worksheets("ScantabelleKopierer2Ber")
        .Cells(ListBox2.ListIndex + 2 + Abs(ListBox2.ListIndex = -1), 1).Value = CDbl(TextBox7.Value)
        .Cells(ListBox2.ListIndex + 2 + Abs(ListBox2.ListIndex = -1), 2).Value = TextBox8.Value
        .Cells(ListBox2.ListIndex + 2 + Abs(ListBox2.ListIndex = -1), 3).Value = TextBox9.Value
        .Cells(ListBox2.ListIndex + 2 + Abs(ListBox2.ListIndex = -1), 4).Value = TextBox10.Value
        .Cells(ListBox2.ListIndex + 2 + Abs(ListBox2.ListIndex = -1), 5).Value = CDbl(TextBox11.Value)
        .Cells(ListBox2.ListIndex + 2 + Abs(ListBox2.ListIndex = -1), 6).Value = CDbl(TextBox12.Value)
    End With
    Tag = vbNullString
End Sub

Gruß
Nepumuk
AW: Fehler bei erster Zeile
04.07.2018 13:48:44
Peter
Hallo Nepumuk,
leider nein - es wird jetzt mittels Listbox1 die Tabelle in 2. Reihe überschrieben. Listbox2 in Tabelle funktioniert.
Gruss Peter
AW: Fehler bei erster Zeile
04.07.2018 14:49:05
Peter
Hallo Nepumuk,
ich habe mal experimentiert.
Die beiden nachstehenden Makros funktionieren jeweils für sich:
'geht für erste Zeile nicht für zweite
Private Sub CommandButton8_Click()
Tag = "1"
With Worksheets("ScantabelleKopierer1Ber")
.Cells(ListBox1.ListIndex + 2 + Abs(ListBox1.ListIndex = -1), 1).Value = CDbl(TextBox1. _
Value)
.Cells(ListBox1.ListIndex + 2 + Abs(ListBox1.ListIndex = -1), 2).Value = TextBox2.Value
.Cells(ListBox1.ListIndex + 2 + Abs(ListBox1.ListIndex = -1), 3).Value = TextBox3.Value
.Cells(ListBox1.ListIndex + 2 + Abs(ListBox1.ListIndex = -1), 4).Value = TextBox4.Value
.Cells(ListBox1.ListIndex + 2 + Abs(ListBox1.ListIndex = -1), 5).Value = CDbl(TextBox5. _
Value)
.Cells(ListBox1.ListIndex + 2 + Abs(ListBox1.ListIndex = -1), 6).Value = CDbl(TextBox6. _
Value)
End With
With Worksheets("ScantabelleKopierer2Ber")
.Cells(ListBox2.ListIndex + 2 + Abs(ListBox2.ListIndex = -1), 1).Value = CDbl(TextBox7. _
Value)
.Cells(ListBox2.ListIndex + 2 + Abs(ListBox2.ListIndex = -1), 2).Value = TextBox8.Value
.Cells(ListBox2.ListIndex + 2 + Abs(ListBox2.ListIndex = -1), 3).Value = TextBox9.Value
.Cells(ListBox2.ListIndex + 2 + Abs(ListBox2.ListIndex = -1), 4).Value = TextBox10. _
Value
.Cells(ListBox2.ListIndex + 2 + Abs(ListBox2.ListIndex = -1), 5).Value = CDbl(TextBox11. _
Value)
.Cells(ListBox2.ListIndex + 2 + Abs(ListBox2.ListIndex = -1), 6).Value = CDbl(TextBox12. _
Value)
End With
Tag = vbNullString
End Sub
'geht für 2. Zeile nicht jedoch für 1. Zeile
Private Sub CommandButton10_Click()
Tag = "1"
With Worksheets("ScantabelleKopierer1Ber")
.Cells(ListBox1.ListIndex + 2 + Abs(ListBox1.ListIndex = -1), 1).Value = CDbl(TextBox1. _
Value)
.Cells(ListBox1.ListIndex + 2 + Abs(ListBox1.ListIndex = -1), 2).Value = TextBox2.Value
.Cells(ListBox1.ListIndex + 2 + Abs(ListBox1.ListIndex = -1), 3).Value = TextBox3.Value
.Cells(ListBox1.ListIndex + 2 + Abs(ListBox1.ListIndex = -1), 4).Value = TextBox4.Value
.Cells(ListBox1.ListIndex + 2 + Abs(ListBox1.ListIndex = -1), 5).Value = CDbl(TextBox5. _
Value)
.Cells(ListBox1.ListIndex + 2 + Abs(ListBox1.ListIndex = -1), 6).Value = CDbl(TextBox6. _
Value)
End With
With Worksheets("ScantabelleKopierer2Ber")
.Cells(ListBox2.ListIndex + 2, 1).Value = CDbl(TextBox7.Value)
.Cells(ListBox2.ListIndex + 2, 2).Value = TextBox8.Value
.Cells(ListBox2.ListIndex + 2, 3).Value = TextBox9.Value
.Cells(ListBox2.ListIndex + 2, 4).Value = TextBox10.Value
.Cells(ListBox2.ListIndex + 2, 5).Value = CDbl(TextBox11.Value)
.Cells(ListBox2.ListIndex + 2, 6).Value = CDbl(TextBox12.Value)
End With
Tag = vbNullString
End Sub
Kannst Du eine Abfrage in ein Makro einbauen, dass wenn die erste Zeile nach Kopfzeile leer ist, dann
Makro8, sonst Makro10.
Ich weiss nicht wie ich dies Programmieren kann.
Besten Dank
Gruss Peter
AW: Fehler bei erster Zeile
04.07.2018 15:37:50
Peter
Hallo Nepumuk,
ich kann einstellen was ich will - es funktioniert nicht.
Kannst Du die Sache bitte nochmals überprüfen.
Vielen Dank
Gruss Peter
AW: Fehler bei erster Zeile
04.07.2018 16:23:11
Nepumuk
Hallo Peter,
ich hab's jetzt mit deiner Mappe getestet. Erst alle Einträge gelöscht, dann neuer Einträge hinzugefügt. Alle neuen Einträge erscheinen in Zeile 2. Was nun?
Gruß
Nepumuk
AW: Fehler bei erster Zeile
04.07.2018 17:06:13
Peter
Hallo Nepumuk,
bitte schicke mir die von Dir getestete Datei.
Bei meiner blicke ich nicht mehr durch.
Besten Dank
Gruss Peter
AW: UF zwei Listboxen und zwei Tabellen
04.07.2018 17:23:43
Peter
Hallo Nepumuk,
ich habe die Datei nochmals nach Deiner Vorgabe getestet.
Wenn ich beide leere Tabellen habe und die UF öffne und Datensatz einfüge - alles i.O.
Wenn ich dann die nächste Zeile in Listbox2 anklicke und Datensatz einfüge - alles i.O.
Wenn ich UF schliesse und neu starte und neuen Datensatz eingebe - Fehler
Gruss Peter
AW: UF zwei Listboxen und zwei Tabellen
04.07.2018 17:52:59
Peter
Hallo Nepumuk,
ich habe jetzt herausgefunden wo der Fehler ist.
Wenn ich die UF aufrufe wird die Zeile markiert, in welcher ab Spalte B kein Eintrag vorhanden ist.
Wenn ich die nächste Zeile manuell anklicke und danach wieder die vorherige, dann funktioniert alles.
Wo kann der Fehler sein?
Wenn ich aus der userform_initialize die Zeilen "ListBox2.ListIndex = Zeile - 1 und ListBox1.ListIndex = Zeile - 1 deaktiviere, dann funktionert es, wenn ich die nächste Zeile manuell anklicke.
Gibt es eine andere Art per Makro die Zeile anzuklicken?
Besten Dank
Gruss Peter
AW: UF zwei Listboxen und zwei Tabellen
04.07.2018 19:12:58
Nepumuk
Hallo Peter,
dein Problem sind die eigentlich leeren Zeilen die aber durch die Nummerierung vorhanden sind. Schmeiß die raus so dass nur die schon befüllten Zeilen in der ListBox sind. Neue Zeilen fügst du nur durch die TextBoxen ein.
Gruß
Nepumuk
AW: Problem gelöst
06.07.2018 08:37:53
Peter
Hallo Nepumuk,
besten Dank für Deinen Hinweis.
Habe die Datei komplett umgeschrieben, jedoch mit Teilen aus Deiner Hilfe.
Die Datei läuft nun einwandfrei.
Nochmals besten Dank für Deine Hilfe und den erlösenden Hinweis.
Gruss Peter

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige