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

Spalten mit Namen XY markieren und kopieren

Spalten mit Namen XY markieren und kopieren
07.11.2018 16:59:31
Sven
Hallo Zusammen,
ich habe eine Tabelle mit Spalten von A - ZZ. Ich möchte aber nur ein paar dieser Spalten nutzen und in ein neues Tabellenblatt kopieren.
Ich habe sowas schon einmal programmiert mit VBA und habe immer die Spalten angegeben A:B und J:K etc... Problem ist, die Tabelle bekomme ich regelmäßig und die Ersteller der Tabelle verändern dauernd etwas. Mal verschiebt sich der Ort der Spalte oder der Spaltenname ändert sich. An letzterem kann ich nichts ändern, da würde ich dann den VBA Code abändern...
Aber mein Plan sieht wie folgt aus:
Suche nach Spalte mit Spaltennamen = Jahr, markiere sie und kopiere sie in Tabellenblatt 2
Suche nach Spalte mit Spaltennamen = Betrag, markiere sie und kopiere sie in Tabellenblatt 2
usw usw.. Es sind ca 30 Spalten die ich brauche
Könnt ihr helfen? Ich habe sämtliche Einträge durchsuch, aber nie das passende gefunden. Es geht immer auf die Range mit den Spaltenbuchstaben. Ich muss aber nach der Überschrift suchen in Zeile 1 jeder Spalte.
VG
Sven

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten mit Namen XY markieren und kopieren
07.11.2018 17:05:31
{Boris}
Hi,
hast Du Dir die Find-Methode mit FindNext schon mal angeschaut?
VG Boris
AW: Spalten mit Namen XY markieren und kopieren
07.11.2018 17:07:47
Sven
Hi,
ich habe mit dem Makroaufzeichner mal probiert, da stand das dann auch mit FindNext etc. Allerdings fehlen mir leider die VBA Kenntnisse um das dann so umzuschreiben, dass er mir da mehrere Zeilen markiert und kopiert :/
VG
Sven
AW: Spalten mit Namen XY markieren und kopieren
07.11.2018 17:37:07
{Boris}
Hi,
dann lad mal Deine Datei (anonymisiert) hoch.
VG Boris
AW: Spalten mit Namen XY markieren und kopieren
08.11.2018 00:47:47
Werner
Hallo Sven,
dann teste mal da hier:
Worksheets("Tabelle1") = das Blatt auf dem du die Spalten suchst
Worksheets("Tabelle2") in A1 bis A? deine Spaltenüberschriften die du suchst eintragen
Worksheets("Tabelle3") = das Zielblatt in das die Spalten kopiert werden.
Public Sub Spalten_suchen_kopieren()
Dim raFund As Range, raBereich As Range
Application.ScreenUpdating = False
'Blatt mit den Suchbegriffen
With Worksheets("Tabelle2")
loLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
For i = 1 To loLetzte
'Blatt in dem du die Spalten suchst
With Worksheets("Tabelle1")
Set raFund = .Cells.Find(what:=Worksheets("Tabelle2").Cells(i, 1), _
LookIn:=xlValues, lookat:=xlWhole)
If Not raFund Is Nothing Then
'Worksheets("Tabelle3") ist das Zielblatt
.Range(.Cells(raFund.Row, raFund.Column), .Cells(.Rows.Count, _
raFund.Column).End(xlUp)).Copy Worksheets("Tabelle3").Cells(1, i)
End If
End With
Next i
End With
End Sub
Gruß Werner
Anzeige
AW: Spalten mit Namen XY markieren und kopieren
08.11.2018 00:49:21
Werner
Hallo Sven,
kleiner Flüchtigkeitsfehler. Habe vergessen die Variable i zu Dimensionieren
Dim raFund As Range, raBereich As Range, i As Long
Gruß Werner
schon zu spät, oder zu früh...
08.11.2018 01:28:51
Werner
Hallo Sven,
weil die Variable loLetzte war auch nicht Dimensioniert.
Option Explicit
Public Sub Spalten_suchen_kopieren()
Dim raFund As Range, raBereich As Range
Dim loLetzte As Long, i As Long
Application.ScreenUpdating = False
'Blatt mit den Suchbegriffen
With Worksheets("Tabelle2")
loLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
For i = 1 To loLetzte
'Blatt in dem du die Spalten suchst
With Worksheets("Tabelle1")
Set raFund = .Cells.Find(what:=Worksheets("Tabelle2").Cells(i, 1), _
LookIn:=xlValues, lookat:=xlWhole)
If Not raFund Is Nothing Then
'Worksheets("Tabelle3") ist das Zielblatt
.Range(.Cells(raFund.Row, raFund.Column), .Cells(.Rows.Count, _
raFund.Column).End(xlUp)).Copy Worksheets("Tabelle3").Cells(1, i)
End If
End With
Next i
End With
End Sub
Gruß Werner
Anzeige
AW: schon zu spät, oder zu früh...
08.11.2018 07:36:56
Sven
Hey guten Morgen Werner,
danke schonmal für die Mühe. Also es funktioniert noch nicht optimal.
Es kopiert nun tatsächlich die erste Spalte, hört dann aber auf und vergisst die ganzen anderen Spalten.
https://www.herber.de/bbs/user/125253.xlsm
Habe mal meine Beispieldatei hochgeladen.
VG
Sven
AW: schon zu spät, oder zu früh...
08.11.2018 10:24:53
Werner
Hallo Sven,
na ja, ich hab dir ja auch geschrieben, dass du im Blatt 2 die Spalten, die du suchst und die kopiert werden sollen, untereinander schreiben sollst. Du hast sie aber nebeneinander stehen. Schreibe die Spalten die du suchst mal alle in Spalte A untereinander. Also A1, A2, A3....
Gruß Werner
Anzeige
AW: schon zu spät, oder zu früh...
08.11.2018 12:15:58
Sven
Danke hat geklappt, Thema ist erledigt.
Vielen Dank für die Unterstützung!!
Gerne u. Danke für die Rückmeldung. o.w.T.
08.11.2018 12:22:03
Werner

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige