Hilfe ! Suche-Finde-Aktualisiere

Bild

Betrifft: Hilfe ! Suche-Finde-Aktualisiere
von: Franky
Geschrieben am: 09.09.2015 11:53:58

Hey Leute,
komme irgendwie nicht weiter.
habe bisher folgenden Code(ausschnitt):


Workbooks.Open Filename:="F:\Datei1.xls"
Worksheets("1").Activate
ActiveSheet.Unprotect ("#")
zeile = Cells(Rows.Count, 1).End(xlUp).Row
             
For x = 2 To zeile
If Cells(x, 24) = "P" Then
Range(Cells(x, 1), Cells(x, 9)).Copy
Workbooks("Datei2.xls").Worksheets("1").Activate
z = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
Range(Cells(z, 1), Cells(z, 9)).PasteSpecial Paste:=xlPasteValues
End If
Next x

Ich will eigentlich, das in Datei1 in Spalte 24 geschaut wird ob da ein "P" steht, wenn ja soll Spalte 1 bis 9 aus der Zeile kopiert werden.
Das ganze soll dann in Datei2 auch in Spalte 1 bis 9 eingefügt werden.
Jedoch nur einmal, ich so zusagen das der Inhalt nur aktualisiert wird.
Aber derzeigt funktioniert nicht ein mal die schleife richtig, diese wird nur einmal durchlaufen und ich verstehe nicht warum.
Kann mir jemand helfen.
Daaannnkkeee..

Bild

Betrifft: AW: Hilfe ! Suche-Finde-Aktualisiere
von: Gerd L
Geschrieben am: 09.09.2015 12:08:44
Hallo Franky,
neben allem anderen: Ermittle die letzte Zelle mit Füllung in der Quelltabelle in der Spalte, in der du prüfst.
zeile = ActiveSheet.Cells(ActiveSheet.Rows.Count, 24).End(xlUp).Row
Gruß Gerd

Bild

Betrifft: AW: Hilfe ! Suche-Finde-Aktualisiere
von: Franky
Geschrieben am: 09.09.2015 12:19:04
Hey Gerd,
das funktioniert, habe mir "zeile" mal ausgeben lassen, durch läuft die schleife trotzdem nur einmal.

Bild

Betrifft: AW: Hilfe ! Suche-Finde-Aktualisiere
von: Gerd L
Geschrieben am: 09.09.2015 12:25:41
Hallo Franky,
du könntest deine Quelltabelle (müssen keine Originaldaten drin sein) u. deine ganze Prozedur hier hochladen. Dies kürzt das Rätselraten ab.
Gruß Gerd

Bild

Betrifft: AW: Hilfe ! Suche-Finde-Aktualisiere
von: rudi Maintaire
Geschrieben am: 09.09.2015 12:41:43
Hallo,
is doch logisch.
Beim 2.Durchlauf ist deine Zielmappe aktiv. Und da ist in Spalte 24 kein P. Es wird also nicht mehr kopiert.

Sub aaa()
  Dim wksQ As Worksheet, wksZ As Worksheet
  Set wksZ = Workbooks("Datei2.xls").Worksheets("1")
  Set wksQ = Workbooks.Open(Filename:="F:\Datei1.xls").Sheets("1")
  With wksQ
    .Unprotect ("#")
    zeile = .Cells(.Rows.Count, 24).End(xlUp).Row
    For x = 2 To zeile
      If .Cells(x, 24) = "P" Then
        .Range(.Cells(x, 1), .Cells(x, 9)).Copy
        wksZ.Cells(.Rows.Count, 1).End(xlUp).Offset(1).PasteSpecial Paste:=xlPasteValues
      End If
    Next x
  End With
End Sub
Gruß
Rudi

Bild

Betrifft: AW: Hilfe ! Suche-Finde-Aktualisiere
von: Franky
Geschrieben am: 09.09.2015 13:33:56
Hey...
Danke, das ist es... so was blödes aber auch...
Danke...

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Zelle bei neuem Zelleninhalt einfügen"