Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Einzelne Spalten in Blatt einfügen

VBA Einzelne Spalten in Blatt einfügen
26.11.2020 12:43:05
Chris
Hallo zusammen,
ich habe ein Makro zum Kopieren der Spalten B:S. Nun möchte ich nur die Spalten E, R und S kopieren und ändere den Code dementsprechend. Wenn ich bei Set RNG = TB1.Columns("E, R, S") eintrage, erhalte ich eine Fehlermeldung. Könnt ihr mir bitte weiterhelfen, wie ich das Problem lösen kann?
Mein Code lautet:
Private Sub CommandButton1_Click() 'Bestellung erzeugen
Dim TB1, TB1Z1 As Integer, LR1 As Integer, SP As Integer, RNG As Range
Dim TB2, TB2Z1 As Integer, LR2 As Integer
Set TB1 = Sheets("Katalog")
Set TB2 = Sheets("Bestellung")
Set RNG = TB1.Columns("B:S") 'Bereich, der übertragen werden soll
TB1Z1 = 4 'erste Zeile mit Daten
TB2Z1 = 4 'erste Zielzeile
SP = 19 'Spalte mit Mengenangaben "F"
LR1 = TB1.Cells(TB1.Rows.Count, "A").End(xlUp).Row 'letzte Zeile der Spalte
With TB1.Cells(TB1Z1, SP).Resize(LR1 - TB1Z1 + 1, 1)
'Prüfen ob Mengen eingetragen wurden
If WorksheetFunction.Sum(.Cells) > 0 Then
'Reset Zieltabelle
LR2 = TB2.Cells(TB2.Rows.Count, "S").End(xlUp).Row  'Letzte Zeile
TB2.Cells(TB2Z1, 1).EntireRow.ClearContents 'erste zeile leeren
TB2.Cells(TB2Z1 + 1, 1).Resize(LR2, 1).EntireRow.Delete xlUp 'Rest löschen
'Nur Zeilen mit Menge übertragen
Intersect(RNG, .SpecialCells(xlCellTypeConstants, 3).EntireRow).Copy TB2.Cells( _
TB2Z1, 2)
'Positionen setzen
LR2 = TB2.Cells(TB2.Rows.Count, "S").End(xlUp).Row  'Letzte Zeile
With TB2.Cells(TB2Z1, 1).Resize(LR2 - TB2Z1 + 1, 1)
.FormulaR1C1 = "=ROW(R[-3]C)"
.Value = .Value
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.Borders(xlEdgeBottom).Weight = xlMedium
End With
'Format aus Zeile 3 übertragen
TB2.Cells(TB2Z1, 1).EntireRow.Copy
TB2.Cells(TB2Z1, 1).Resize(LR2 - TB2Z1 + 1, 1).EntireRow.PasteSpecial Paste:= _
xlPasteFormats
Application.CutCopyMode = False
Else
MsgBox "Keine Daten gefunden !"
End If
End With
End Sub
Vielen Dank im Voraus.
Beste Grüße
Chris
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Einzelne Spalten in Blatt einfügen
26.11.2020 13:10:02
MCO
Mahlzeit!
Es muss heissen
 TB1.Columns("E:E, R:R, S:S")
Gruß, MCO
AW: VBA Einzelne Spalten in Blatt einfügen
26.11.2020 13:25:00
Chris
Hi MCO,
danke für die schnelle Antwort.
Habe es probiert und erhalte den die Fehlermeldung "Laufzeitfehler '13': Typen unverträglich".
Es wird die folgende Passage gelb hinterlegt:
Set RNG = TB1.Columns("E:E, R:R, S:S") 'Bereich, der übertragen werden soll
Weißt du an was das liegen könnte?
Vielen Dank im Voraus.
Gruß Chris
Anzeige
AW: VBA Einzelne Spalten in Blatt einfügen
26.11.2020 13:53:05
Werner
Hallo,
Set Rng = TB1.Range("E:E, R:S")
Gruß Werner
AW: VBA Einzelne Spalten in Blatt einfügen
26.11.2020 15:44:39
Chris
Hallo Werner,
danke für deine Antwort. Leider erhalte ich auch damit dieselbe Fehlermeldung ("Laufzeitfehler '13': Typen unverträglich").
Gibt es noch eine andere Möglichkeit?
Vielen Dank im Voraus.
Gruß Chris
Anzeige
AW: VBA Einzelne Spalten in Blatt einfügen
27.11.2020 13:24:56
Chris
Hallo Werner,
danke für deine Hilfe. Hatte noch TB1.Columns stehen anstatt TB1.Range.
Funktioniert alles wunderbar.
Danke und Grüße
Chris
Anzeige
Gerne u. Danke für die Rückmeldung. o.w.T.
27.11.2020 13:27:21
Werner
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige