Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1796to1800
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

Listindex in Tabelle übertragen (Multi)

Listindex in Tabelle übertragen (Multi)
04.12.2020 14:12:37
M.A.
Hallo,
ich verzweifle ein wenig an einer vermutlich kleinen Aufgabe.
Der gewählte Listindex (auch Multiselect möglich) soll bei Klick auf den Button 1 aus der Listbox und aus der
Ursprungstabelle entfernt werden und in ein anderes Tabellenblatt (in die letzte Zeile) geschrieben werden.
Einzeln kein Problem:
  • Sheets("Tabelle1").Rows(ListBox1.ListIndex + 2).Delete Shift:=xlUp UserForm1.Repaint Call ListBoxFüllen

  • Private Sub CommandButton1_Click() Dim wks As Worksheet Dim zeile As Long Dim eintrag As Long Dim spalte As Long Set wks = Tabelle4 zeile = 3 '####### Sheets("Tabelle3").UsedRange.SpecialCells(xlCellTypeLastCell).Row ####### For eintrag = 0 To Me.ListBox1.ListCount - 1 If Me.ListBox1.Selected(eintrag) Then For spalte = 1 To 7 wks.Cells(zeile, spalte) = Me.ListBox1.List(eintrag, spalte - 1) Next spalte zeile = zeile + 1 End If Next End Sub

  • Zum einen finde ich mit dem ausgeklammerten Code
  • 
    Sheets("Tabelle3").UsedRange.SpecialCells(xlCellTypeLastCell).Row

  • ohne Probleme in einem separatem SUB die letzte Zeile in einer msgbox, jedoch im oben stehenden Makro bei Test nicht.
    Definiere ich zeile =3 als festen wert klappt es.
    Hinzu kommt das ich Set wks = Tabelle4 angeben muss, damit er die Daten in das Tabellenblatt 3 schreibt ?
    Danke euch für die Infos, die da kommen.
    M.A.

    4
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Listindex in Tabelle übertragen (Multi)
    04.12.2020 19:00:48
    AlterDresdner
    Hallo,
    ich vermute, beide "Fehler" entstehen durch die Konfusion Tabelle4 "Tabelle3"
    Tabelle4 ist vermutlich der Codename des Blattes, das den Namen Tabelle3 erhalten hat.
    Dieses Blatt ist entweder druch Tabelle4 oder Sheets("Tabelle3") anzusprechen.
    Man sollte sich auf einen Weg einigen.
    Gruß der AlteDresdner
    AW: Listindex in Tabelle übertragen (Multi)
    04.12.2020 21:08:09
    Yal
    Hallo M.A.,
    bin auch derselben Meinung wie AlterDresdner.
    Folgendes sollte daher bei Dir geanuso gut funktionieren wie bei mir:
    Private Sub CommandButton1_Click()
    Dim wks As Worksheet
    Dim zeile As Long
    Dim eintrag As Long
    Dim spalte As Long
    Set wks = Worksheets("Tabelle3")
    zeile = wks.UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1
    For eintrag = 0 To Me.ListBox1.ListCount - 1
    If Me.ListBox1.Selected(eintrag) Then
    For spalte = 1 To 7
    wks.Cells(zeile, spalte) = Me.ListBox1.List(eintrag, spalte - 1)
    Next spalte
    zeile = zeile + 1
    End If
    Next
    End Sub
    
    VG
    Yal
    Anzeige
    AW: Listindex in Tabelle übertragen (Multi)
    06.12.2020 19:35:02
    M.A
    Vielen Lieben Dank,
    mit dieser kleinen Änderung funktioniert es wunderbar!
    Bevor ich hierfür einen neuen Thread aufmache, wie schaffe ich es, dass beim Übertrag in die Tabelle3 in
    die freie Zelle rechts daneben einen Wert (Timestamp) zugewiesen bekommt? Bei meiner Variante ist es immer um einige Zeilen versetzt, da er zuerst den Timestamp setzt und dann den Übertrag aus Listbox1 durchführt:
  • 
    Private Sub CommandButton1_Click()
    Dim wks As Worksheet
    Dim zeile As Long
    Dim eintrag As Long
    Dim spalte As Long
    Set wks = Worksheets("Tabelle3")
    zeile = wks.UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1
    For eintrag = 0 To Me.ListBox1.ListCount - 1
    If Me.ListBox1.Selected(eintrag) Then
    For spalte = 1 To 5
    wks.Cells(zeile, spalte) = Me.ListBox1.List(eintrag, spalte - 1)
    Next spalte
    zeile = zeile + 1
    Sheets("Tabelle1").Rows(ListBox1.ListIndex + 2).Delete Shift:=xlUp
    UserForm1.Repaint
    ListBox1.Clear
    Call Füllen
    End If
    Next
    'Beispiel Timestamp soll in Spalte 6, 5 werden von der Listbox übertragen
    Do
    If Cells(i, 6).Value = "" Then
    Sheets("Tabelle3").Cells(i, 6).Value = Time
    x = 1
    Else
    i = i + 1
    End If
    Loop Until x = 1
    End Sub
    

  • Nochmal danke vorab.
    M.A
    Anzeige
    AW: Listindex in Tabelle übertragen (Multi)
    07.12.2020 08:36:52
    Yal
    
    Private Sub CommandButton1_Click()
    Dim wks As Worksheet
    Dim zeile As Long
    Dim eintrag As Long
    Dim spalte As Long
    Set wks = Worksheets("Tabelle3")
    zeile = wks.UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1
    For eintrag = 0 To Me.ListBox1.ListCount - 1
    If Me.ListBox1.Selected(eintrag) Then
    For spalte = 1 To 7
    wks.Cells(zeile, spalte) = Me.ListBox1.List(eintrag, spalte - 1)
    Next spalte
    wks.Cells(zeile, splate +1) = format(Now, "YYYY-MM-TT")
    zeile = zeile + 1
    End If
    Next
    End Sub
    

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige