Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
648to652
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
648to652
648to652
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Suchen und Kopieren
06.08.2005 16:01:36
Carsten
Hallo Forum,
ich habe hier ein kleines Problem und hoffe das mir jemand helfen kann.
Ich möchte aus einer Arbeitsmappe eine andere öffnen und in dieser
alle Arbeitsblätter (es können Unterschiedlich viele sein)im
Zellbereich i11:i200 nach mehrerer vorher festgelegten Kennzahlen
durchsuchen (21;31;51;42;36 usw.)
Anschließen soll,ausgehen von der Fundstelle die ganze Zeile in ein
anderes Arbeitsblatt kopiert werden.
Vielen Dank für die Hilfe.
Carsten

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchen und Kopieren
06.08.2005 16:29:31
Matthias
Hallo Carsten,
mal als Ansatz:

Sub ListeDurchsuchen()
Dim fn As String
Dim WBList As Workbook, WBNeu As Workbook
Dim Sh As Worksheet, z As Range
Dim zeile As Integer, lz As Long
fn = ThisWorkbook.Path & "\Extern.xls"
Workbooks.Open Filename:=fn
Set WBList = ActiveWorkbook
Workbooks.Add
Set WBNeu = ActiveWorkbook
For Each Sh In WBList.Sheets
For zeile = 11 To 200
Select Case Sh.Cells(zeile, 9).Value
Case 21, 31, 51, 42, 36
lz = WBNeu.Sheets(1).Range("A65536").End(xlUp).Row + 1
Sh.Cells(zeile, 1).EntireRow.Copy Destination:=WBNeu.Sheets(1).Cells(lz, 1)
End Select
Next zeile
Next Sh
End Sub

Die zu öffnende Mappe heißt im Beispiel "Extern.xls" und ist im gleichen Verz. gespeichert wie die Mappe mit dem Makro (ThisWorkbook.Path).
Bei Bedarf eben anpassen.
Gruß Matthias
Anzeige
AW: Suchen und Kopieren
06.08.2005 17:04:21
Carsten
Hallo Matthias,
der Ansatz ist super aber die zeile For zeile = 11 To 200
verstehe ich nicht ganz die Kennzahlen könnnen nur im Range("i11:i200")
vorkommen. Außerdem habe ich ja schon ein Woorkbook geöffnet in diesem
soll das ganze in das Sheet Übersicht kopiert werden von dortaus kann ich die Daten weiter verarbeiten.
Aber trotzdem Vielen Dank für die schnelle Hilfe, ich habe nun
einen Ansatz mit dem ich erst mal weiter Arbeiten kann.
AW: Suchen und Kopieren
06.08.2005 17:08:19
Matthias
Hallo Carsten,
naja, mit "For zeile = 11 to 200" durchsuche ich ja die zeilen 11-200, Spalte I (=9).
Wenn du noch Probleme hast mit dem Anpassen, melde dich.
Gruß Matthias
Anzeige
AW: Suchen und Kopieren
06.08.2005 17:14:14
Carsten
Hi Matthias,
wer lesen und denken kann ist klar im Vorteil, bin allerdings auch
Neuling was VBA per Hand programmieren angeht.
Mal schauen ob ich das geregelt bekomme.
Verstehe ich das übrigens richtig mit Workbook.add mache ich ein neues
auf ?
Dankeschön für die prompte Hilfe
Gruß aus Wiesbaden
Carsten
AW: Suchen und Kopieren
06.08.2005 17:23:29
Matthias
Hallo Carsten,
ja, mit Workbooks.Add wird eine neue Mappe erstellt.
Kann ja wegfallen jatzt.
Mein neuer Entwurf:

Sub ListeDurchsuchen()
Dim fn As String
Dim WBList As Workbook, WBNeu As Workbook
Dim Sh As Worksheet, z As Range
Dim zeile As Integer, lz As Long
fn = ThisWorkbook.Path & "\Extern.xls"
Application.ScreenUpdating = False
Workbooks.Open Filename:=fn
Set WBList = ActiveWorkbook
For Each Sh In WBList.Sheets
For zeile = 11 To 200
Select Case Sh.Cells(zeile, 9).Value
Case 21, 31, 51, 42, 36
lz = ThisWorkbook.Sheets("Übersicht").Range("A65536").End(xlUp).Row + 1
Sh.Cells(zeile, 1).EntireRow.Copy Destination:=ThisWorkbook.Sheets("Übersicht").Cells(lz, 1)
End Select
Next zeile
Next Sh
WBList.Close False
Application.ScreenUpdating = True
End Sub

Die Zeilen werden an die vorhandene Liste angehängt. Wenn das nicht gewünscht ist, muss vorher der Bereich gelöscht werden (z.B: ThisWorkbook.Sheets("Übersicht").Cells.ClearContents).
Gruß Matthias
Anzeige
AW: Suchen und Kopieren
06.08.2005 17:35:41
Carsten
Hi Matthias,
geile Sache bis auf die Zeile WBList.Close False bin
ich schon auf deinen Code gekommen.
Habe nur diese Zeile Set WBNeu = ActiveWorkbook vor
diese zeile fn = ThisWorkbook.Path & "\Extern.xls" gestellt.
Aber die kann ja logischer weise auch wegfallen.
Super Du hast meinen Arbeitstag gerettet.
Gruß
carsten

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige