Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
332to336
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
332to336
332to336
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

mehrere spalten kopieren

mehrere spalten kopieren
09.11.2003 23:02:18
helge
Hallo,
mit folgendem Code kann ich mir eine Spalte mit anfangszelle "erste" kopieren:
suche = "erste"
Cells.Find(What:=suche, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Activate
Range(Cells(ActiveCell.Row, ActiveCell.Column), _
Cells(ActiveCell.End(xlDown).Row, ActiveCell.Column)).Copy

nun möchte ich aber auch gleich noch eine andere spalte mit anfangszelle "zweite" kopieren oder sogar noch mehr spalten(bis zu ca 20)

gibt es da sowas wie ein

suche = "erste"
suche2 = "zweite"
Cells.Find(What:=suche & suche2....

problem ist ich möchte nicht sooooo viel quellcode haben und suche deshalb nach einer eleganten lösung des problems

danke schonmal
helge

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mehrere spalten kopieren
09.11.2003 23:49:54
Vincent Vega
Option Explicit


Sub UnionTest()
Dim aGesucht As Variant, aItem As Variant, suche$
Dim rAlleSp As Range
Dim rGesucht As Range
' die gesuchten worter in die array
aGesucht = Array("erste", "zweite", "dritte", "letzte")
For Each aItem In aGesucht
Set rGesucht = Nothing
suche$ = CStr(aItem)
Set rGesucht = Cells.Find(What:=suche$, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False)
' wenn erstes mal was gefunden
If ((Not rGesucht Is Nothing) And (rAlleSp Is Nothing)) Then
Set rAlleSp = Range(Cells(rGesucht.Row, rGesucht.Column), _
Cells(rGesucht.End(xlDown).Row, rGesucht.Column))
' wenn zwetes usw. male gefunden, dann den ersten und die weiteren ranges
' miteinander union
ElseIf ((Not rGesucht Is Nothing) And (Not rAlleSp Is Nothing)) Then
Set rAlleSp = Application.Union(rAlleSp, Range(Cells(rGesucht.Row, rGesucht.Column), _
Cells(rGesucht.End(xlDown).Row, rGesucht.Column)))
End If
Next aItem
If (Not rAlleSp Is Nothing) Then rAlleSp.Activate
End Sub

' hoffentlich es hilft Dir :-)
Anzeige
danke vincent Suuuuper genau das brauch ich o.T.
10.11.2003 00:14:11
helge
nochmal an vincent
10.11.2003 11:42:26
helge
hi vincent,
noch eine frage zu deinem makro:
kann ich mir die markierten spalten so ausgeben wie ich sie im Array suchen lasse und nicht in der reihenfolge wie sie im Workbook angeordnet sind??

danke nochmal
helge

63 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige