Herbers Excel-Forum - das Archiv
Beschriebene Zeilen auswählen und ...
Betrifft: Beschriebene Zeilen auswählen und ...
von: André
Geschrieben am: 02.01.2007 21:43:09
Guten abend.
Ich habe folgendes Problem.
Ich habe eine Excel-Tabelle wo:
Zeilenweise Artikel drin stehen (von "A4:P150"). In der Zeile "F" wird vereinzelt ein Wert "1" gesetzt.
Ich will jetzt über VBA, dass ein Button alle Spalten Markiert (am Besten von Zeile "A:P"), wo in Zeile "F" der Wert "1" steht.
Zwischen den Werten in Zeile "F" kommen nur leere Zellen.
Dann Sollen die Markierten Spalten/Zellen auf eine neue Arbeitsmappe kopiert werden.
Ich habe im Netz was gefunden, nur funktioniert es bei mir nicht. Daher komme ich jetzt nicht groß weiter. Auserdem reicht die Funktion noch nicht aus.
Da ich hier immer eine gute Antwort kriege, versuche ich es lieber hier.
Sub Nichtleere_Zellen_markieren()
suchwert = ""
For Each Suchzellen In Selection
If Suchzellen.Value <> suchwert Then
i = 1
z_index = Suchzellen.Row
s_index = Suchzellen.Column
Cells(z_index, s_index).Select
Inhalt = Inhalt & Selection.Address & "," i = i + 1
End If
Next
Range(Left(Inhalt, (Len(Inhalt) - 1))).Select
End Sub
Er meckert bei mir bei :Range(Left(Inhalt, (Len(Inhalt) - 1))).Select
Danke im voraus.
Betrifft: AW: Beschriebene Zeilen auswählen und ...
von: ramses
Geschrieben am: 02.01.2007 22:13:27
Hallo
Warum umständliches markieren, selektieren und kopieren ?
Schreibe die Werte doch gleich in die Zieltabelle
Dim suchSpalte as integer
Dim tarRow as Integer
SuchSpalte = 6 '=F
tarRow = 1 '1.Zeile in der Zieltabelle
For i = 1 to Cells(cells.count,suchspalte).end(xlup).row
if cells(i,suchspalte) = 1 then
rows(i).copy Destination:=Worksheets("Zieltabelle").rows(tarrow)
tarrrow = tarrow +1
end if
next i
Das sollte es gewesen sein
Gruss Rainer
Betrifft: Cells(cells.count,suchspalte).???????oT
von: Hubert
Geschrieben am: 02.01.2007 22:29:32
oT
Betrifft: Und nun ... ? o.w.T.
von: ramses
Geschrieben am: 02.01.2007 22:31:11
...
Betrifft: cells.count = 16.777.216 oT
von: Hubert
Geschrieben am: 02.01.2007 22:33:31
oT
Betrifft: Rows.Count. Geht doch :-) Danke :-) o.w.T.
von: ramses
Geschrieben am: 02.01.2007 22:55:26
...
Betrifft: AW: Beschriebene Zeilen auswählen und ...
von: André
Geschrieben am: 02.01.2007 22:34:11
Will nicht funktionierren.
"Laufzeitfehler '1004"
Anwendungs- oder objektdefinierter Fehler"
Das mag er nicht: For i = 1 to Cells(cells.count,suchspalte).end(xlup).row
???
Schleifen sind nicht so mein ding.
Betrifft: AW: Beschriebene Zeilen auswählen und ...
von: Hubert
Geschrieben am: 02.01.2007 22:44:12
For i = 1 to Cells(Rows.count,suchspalte).end(xlup).row
mfg Hubert
Betrifft: AW: Das glaub 'ich gern, dass das nicht...
von: Luc:-?
Geschrieben am: 02.01.2007 22:46:01
...fkt, André!
Mit
Cells.Count wdn nämlich alle Zellen über alle Zeilen und Spalten im selektierten Bereich bzw Blatt gezählt. Da wird dann kein 2.Argument in Cells() erwartet. Entweder nur eine Spalte ist selektiert, dann wird kein Spaltenindex benötigt, oder nichts ist selektiert und die Spalte ist fest, dann ist das 1.Argument natürlich
Rows.Count.
Gesundes Neues!
Luc :-?
Betrifft: Bestens
von: André
Geschrieben am: 02.01.2007 23:23:35
Funktioniert so wie ich es wollte.
BESTEN DANK!!!
Jetzt muss ich es nur noch im Programm zum funktionieren bringen :-P