Anzeige
Archiv - Navigation
284to288
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
284to288
284to288
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeilen suchen und kopieren

Zeilen suchen und kopieren
22.07.2003 15:12:34
nemac
Hab hier folgendes Problem :
Ich hab ein Worksheet wo ich mit einer Schleife die daten aus der Spalte B auslese und sie in einem anderen Workbook suche. Die gefundene Zeile wird dann in ein drittes Workbook kopiert.
Beim Debuggen funzt das alles wunderbar ; wenn ich aber den dazugehörigen Button drücke geht das bis zu der schleife und überspringt die und hört auf !!
also er macht die dateien auf und ordnet die variablen zu; aber es werden keine zeilen übertragen.
Was kann hier das Problem sein ???
Kann es vielleicht sein das er nach dem Suchschleifen durchlauf eine Pause braucht? ( gibts hier vielleicht einen - analog zu dem sleep-befehl aus c++ - pausenbefehl)
Hier der Code:

Private Sub CommandButton1_Click()
Workbooks.Open Filename:="REPORT1.xls"
Workbooks.Open Filename:="PROBLEMLISTE.XLS"
Dim i As Integer
Dim n As Integer
Dim A As String
Dim WB1  As Workbook
Dim WB2  As Workbook
Dim WB3  As Workbook
Dim WS1 As Worksheet
Dim WS2 As Worksheet
Dim WS3 As Worksheet
Workbooks("REPORT1").Activate
Worksheets(1).Activate
Set WB1 = ActiveWorkbook
Set WS1 = ActiveSheet
Workbooks("PROBLEMLISTE.XLS").Activate
Worksheets(1).Activate
Set WB2 = ActiveWorkbook
Set WS2 = ActiveSheet
Workbooks("filter.xls").Activate
Worksheets(1).Activate
Set WB3 = ActiveWorkbook
Set WS3 = ActiveSheet
n = 8
WS1.Activate
For i = 2 To WS1.Range("B200").End(xlUp).Row
A = WS1.Cells(i, 2)
WS2.Activate
With WS2.Range("D11:D2000")
Set c = .Find(A, LookIn:=xlValues)
If Not c Is Nothing Then
firstaddress = c.Address
Do
c.EntireRow.Copy
WS3.Activate
ActiveSheet.Rows(n).Activate
ActiveSheet.Paste
n = n + 1
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
Next i
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen suchen und kopieren
22.07.2003 15:24:02
Knut
Vor lauter select und activate wird einem ja schwindelig, das ist
nicht erfordelich, um die Daten zu kopieren.
For i = 2 To WS1.Range("B200").End(xlUp).Row

A = WS1.Cells(i, 2)
WS2.Activate
With WS2.Range("D11:D2000")
Set c = .Find(A, LookIn:=xlValues)
If Not c Is Nothing Then
firstaddress = c.Address
Do
c.EntireRow.Copy WS3.Rows(n)

n = n + 1
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
Next i
End Sub
Knut

Anzeige
AW: Zeilen suchen und kopieren
23.07.2003 08:52:27
nemac
Mein Problem bestand aber darin, dass das Programm per Einzelschritt funktioniert aber in der Gesamtheit, also bei drücken des Buttons in excel nur die schritte bis
For i=2 To.. ausführt ; dann aber einfach die schleife überspringt.
Wenn ich nur einen Wert auslese und ihn suche dann geht der Buttonklick .
Mit Schleife aber funktioniert alles nur im debug mode.
Mir is das ganze schleierhaft , weil beim durchdebuggen im prinzip ach nix anderes als ein programdurchlauf stattfindet nur eben vom user gesteuert!!

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige