Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Per VBA von Worksheet in Tabelle kopiere

Betrifft: Per VBA von Worksheet in Tabelle kopiere von: Lizzel Mizzel
Geschrieben am: 28.10.2020 15:44:53

Hallo zusammen,

ich versuche von einer Tabelle in eine formatierte Tabelle (Tabelle 1 auf Wartungskarte) Werte zu kopieren.

Private Sub WartungskarteErstellen_Click()
Dim i As Long, strSuche As String, loAnz As Long, z As Long

Application.ScreenUpdating = False

With Worksheets("WartungskarteErstellen")
    For i = 12 To .Cells(.Rows.Count, "A").End(xlUp).Row
        strSuche = ""
        If UCase(.Cells(i, "B")) = "X" Then
            loAnz = Len(.Cells(i, "A")) - Len(Replace(.Cells(i, "A"), " ", ""))
            If loAnz > 0 Then
                For z = 0 To loAnz
                    strSuche = strSuche & Split(.Cells(i, "A"), " ")(z) & "*"
                Next z
                strSuche = "*" & strSuche
            Else
                strSuche = "*" & .Cells(i, "A") & "*"
            End If
            Worksheets("Wartungsaufgaben").Range("A10:J" & Worksheets("Wartungsaufgaben") _
            .Cells(Rows.Count, "F").End(xlUp).Row).AutoFilter Field:=1, Criteria1:=strSuche
            If Worksheets("Wartungsaufgaben").AutoFilter.Range.Columns(1) _
                .SpecialCells(xlCellTypeVisible).Cells.Count > 1 Then
                With Worksheets("Wartungsaufgaben").AutoFilter.Range
                    .Offset(1, 1).Resize(.Rows.Count - 1, .Columns.Count - 1).Copy
                End With
                With Worksheets("Wartungskarte").
                    .Cells(.Rows.Count, "B").End(xlUp).Offset(1).PasteSpecial Paste:= _
xlPasteValues
                End With
            Else
                MsgBox "Fehler: Es ist für " & .Cells(i, "A") & " keine Wartungsaufgabe  _
vorhanden."
            End If
        End If
    Next i
Was muss ich schreiben, damit er mir hier die Werte nicht nur auf Worksheets "Wartungskarte" in Spalte B kopiert, sondern diese in die Tabelle 1 auf Worksheets "Wartungskarte" kopiert?
                With Worksheets("Wartungskarte")
                    .Cells(.Rows.Count, "B").End(xlUp).Offset(1).PasteSpecial Paste:=xlPasteValues
Vielen Dank für eure Zeit/Hilfe!

Gruß Lars

Betrifft: AW: Per VBA von Worksheet in Tabelle kopiere
von: ralf_b
Geschrieben am: 28.10.2020 16:37:43

scheint so als meintest du die intelligenten Tabellen Listobjects

https://www.thespreadsheetguru.com/blog/2014/6/20/the-vba-guide-to-listobject-excel-tables

Betrifft: AW: Per VBA von Worksheet in Tabelle kopiere
von: Lizzel Mizzel
Geschrieben am: 29.10.2020 13:19:43

Das war jetzt zwar auch sehr informativ, aber ich hab es (mit viel hin und her) jetzt auch über die bedingte Formatierung und ohne Tabelle geschafft.

Aber Danke für den Tipp!

Betrifft: AW: Per VBA von Worksheet in Tabelle kopiere
von: ralf_b
Geschrieben am: 29.10.2020 14:23:56

Wenn ich das richtig interpretiere hast du also mittels bedingter Formatierung Werte irgendwohin kopiert. Das glaub ich erst wenn ich es sehe.
Oder geht es eher darum das du die Tabellenformatierung in deinem Eingabebereich so hinbekommen hast, wie du es in einem anderen! Thread angefragt hattest?




Beiträge aus dem Excel-Forum zum Thema "Per VBA von Worksheet in Tabelle kopiere"