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

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
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
Anzeige
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
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
Gerne u. Danke für die Rückmeldung. o.w.T.
27.11.2020 13:27:21
Werner

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige