Clever-Excel-Forum

Normale Version: Mehrere Zellen überprüfen makieren und kopieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Ihr zusammen,

ich möchte per Button einen bestimmten Zellen Bereich überprüfen, ob der Wert größer "0" ist, Wenn Ja möchte ich diese Zelle und die davor markieren und kopieren (STRg+C).

[img]
Dateiupload bitte im Forum! So geht es: Klick mich!
]

If Range("B1").Value > "0" Then
  Range("A1,B1").Select
End If

If Range("B2).Value > "0" Then
  Range("A2,B2").Select
End If

.
.
.
If Range("B5").Value > "0" Then
  Range("A5,B5").Select
End If


Das Problem was ich habe ist
1. Nur der letzte gültige "If" Überprüfung wird makiert. Die anderen gültigen werden wieder demarkiert.
2. In dem obigen Beispiel sind es nur 5 Zeilen, das Original hat ca. 30. Ich würde das gerne eleganter lösen und nicht mit einem 100 Zeilencode.
Eventuell mit einem Integer á la "For counter = 1 To 30 Step 1"

hat jemand eine Idee?

vielen Dank :)
Hallo,

Zitat:Wenn Ja möchte ich diese Zelle und die davor markieren und kopieren (Zwischenspeicher).

tschuldigung: aber ich habe es nicht verstanden
Danke für die Schnelle Antwort, ich versuche es mal mit einem kleinen Beispiel.

[img]
Dateiupload bitte im Forum! So geht es: Klick mich!
]

Per Knopfdruck sollen die obigen Zeilen überprüft werden. Alle Werte >0 sollen markiert und in die Zwischenablage (STRg+C) kopiert werden, damit ich sie in eine anderen Anwendung einfügen kann.
Hallo Zusammen,

ich habe noch einmal drüber geschlafen und eine für mich brauchbare Lösung gefunden.
Beim kopieren tue ich mich noch etwas schwer, weil ich mehr kopiere als nötig (auch leere Spalten)

hier meine Lösung:


Code:
    Sheets("Tabelle1").Range("$A$1:$B$24").AutoFilter Field:=2, Criteria1:=">0", _
        Operator:=xlAnd
    Range("A2:B24").Select
    Selection.Copy
Hallöchen,

wenn Du die nach dem Filtern sichtbaren kopieren willst, dann im Prinzip so:

Range("A1:A5").SpecialCells(xlCellTypeVisible).Copy
eben diese Code reicht im Autofilter:


Code:
with Range("A1:B5")
  .autofilter 2,">0"
  .Copy
  .autofilter
end with
Danke schön !