Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
548to552
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
548to552
548to552
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeile kopieren, wenn Wert in Spalte C = 0 ist

Zeile kopieren, wenn Wert in Spalte C = 0 ist
20.01.2005 22:09:24
Flo
Hallo ihr Excelperten :)
Ich habe vor kurzem Excel und VBA "Schnupperkurse" gehabt und würde jetzt gerne etwas mehr daraus machen. Nun habe ich in einem früheren Beitrag schon einen sehr nützlichen Code gefunden:
Dim Quellsheet As Worksheet
Dim Zielsheet As Worksheet
Dim rng As Range
Dim lngQ As Long
Dim lngz As Long
Set wksQ = Sheets("Quellsheet")
Set wksZ = Sheets("Zielsheet")
lngQ = wksQ.Range("A65536").End(xlUp).Row
lngz = wksZ.Range("A65536").End(xlUp).Row + 1
If lngz 1 Then lngz = 1
For Each rng In wksQ.Range(wksQ.Cells(1, 1), wksQ.Cells(lngQ, 1))
If rng.Value = Range("A1").Value Then
rng.EntireRow.Copy wksZ.Cells(lngz, 1)
lngz = lngz + 1
End If
Next
End Sub
Allerdings sind meine Kenntnisse noch nicht ausgereift genug, um daraus klug zu werden... Ich habe schon ein wenig rumproiert aber leider keinen Erfolg gehabt.
Mein Problem besteht darin, dass ich den Code soweit abwandeln möchte, dass er nach dem Wert 0 (Null) sucht in der Spalte C und wenn er ihn gefunden hat, dann soll er die gesamte Zeile in ein neues Tabellenblatt kopieren.
Also falls hier gerade jmd vorbeischaut, der ein bisschen mehr Ahnung hat, dann bitte ich doch um eine kurze Antwort. Vielen Dank, der Floh

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

Betreff
Datum
Anwender
Anzeige
AW: Zeile kopieren, wenn Wert in Spalte C = 0 ist
Ramses
Hallo
sollte damit erledigt sein.
Ändere die Zeile
If rng.Value = Range("A1").Value Then
in
If rng.Value = 0 Then
Gruss Rainer
AW: Zeile kopieren, wenn Wert in Spalte C = 0 ist
20.01.2005 22:37:59
Flo
Hallo und danke für die schnelle Antwort Reiner.
Diese Idee ist mir allerdings auch schon gekommen *freu* ;)
leider hat es nicht den gewünschten Effekt bei mir. Es wird zwar eine richtige Zeile kopiert aber es müssten ca 30 sein. Dafür bekomme ich auch noch irgendwelche Zeilen halb kopiert im neuen Tabellenblatt in denen noch nicht einmal eine 0 vorkommt. Ich denke man muss die Formel noch irgendwie erweitern, dass sie nur die Spalte C durchsucht.
Vielleicht hast du ja noch einen Tipp für mich, mfg
der Floh
Anzeige
AW: Zeile kopieren, wenn Wert in Spalte C = 0 ist
PeterW
Hallo Flo,
mit
For Each rng In wksQ.Range(wksQ.Cells(1, 1), wksQ.Cells(lngQ, 1))
suchst du in Spalte A! Für C müsst es heißen:
For Each rng In wksQ.Range(wksQ.Cells(1, 3), wksQ.Cells(lngQ, 3))
lngQ = wksQ.Range("A65536").End(xlUp).Row
ermittelt die letzte Zeile in Spalte A, für C:
lngQ = wksQ.Range("C65536").End(xlUp).Row
Und natürlich, was Rainer dir schon geschrieben hat.
Gruß
Peter
AW: Zeile kopieren, wenn Wert in Spalte C = 0 ist
20.01.2005 23:12:33
Flo
Wow Super!!
Jetzt nimmt das ganze wirklich Form an :))
was man um 23 uhr nicht noch alles lernen kann!
Vielen Dank für den Code Peter.
Könntest du mir jetzt noch sagen, wie man nur die Zeilen kopiert, wo auch wirklich die 0 in der Spalte C findet? Im mom kopiert er die ganzen Spalten A und B und fängt praktisch erst bei C an zu suchen, ob alles kopiert werden soll...
Ich vermute dass es kein großer Aufwand sein wird ...wenn man weiß wie...
Ein kleiner Schritt für die Menschheit aber ein großer für einen Anfänger *g
in diesem Sinne, der Floh
Anzeige
AW: Zeile kopieren, wenn Wert in Spalte C = 0 ist
PeterW
Hallo Flo,
versuch mal das:

Sub Uebertragen()
Dim wksQ As Worksheet
Dim wksZ As Worksheet
Dim rng As Range
Dim lngQ As Long
Dim lngZ As Long
Set wksQ = Sheets("Quellsheet")
Set wksZ = Sheets("Zielsheet")
lngQ = wksQ.Range("A65536").End(xlUp).Row
lngZ = wksZ.Range("A65536").End(xlUp).Row + 1
If lngZ <> 1 Then lngZ = 1
For Each rng In wksQ.Range(wksQ.Cells(1, 3), wksQ.Cells(lngQ, 3))
'soll nur übertrragen werden wenn wirklich 0 in Spalte C steht dann
If rng.Value = 0 And rng.Value <> "" Then
rng.EntireRow.Copy wksZ.Cells(lngZ, 1)
lngZ = lngZ + 1
End If
Next
End Sub

Gruß
Peter
Anzeige
AW: Zeile kopieren, wenn Wert in Spalte C = 0 ist
20.01.2005 23:41:08
Flo
Yippy :))
ICH DANKE DIR!!! alle wünsche sind erfüllt .
dieses Forum ist ja echt der Knaller. Schneller ging's echt nicht!
jetzt kann ich ja beruhigt schlafen gehen :)
vielen dank nochmal Peter,
mfg der Floh

317 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige