HERBERS Excel-Forum - das Archiv
ActiveCell.End(xlUp).Copy ActiveCell - wenn...
Karsten

Hallo,
ich möchte, dass in der selben Spalte aufwärts die Zelle erkannt und kopiert wird, welche nicht "fehlt" beinhaltet.
Den folgenden Code hatte ich bisher angewandt, nützt mir aber diesbezüglich nichts, weil er auch "fehlt" - Inhalte kopiert:
ActiveCell.End(xlUp).Copy ActiveCell
Danke für eure Hilfe.
Gruß
Karsten

AW: ActiveCell.End(xlUp).Copy ActiveCell - wenn...
ChrisL

Hi Karsten
Sub t()
Dim iZeile As Long
For iZeile = ActiveCell.End(xlUp).Row To 1 Step -1
If Cells(iZeile, ActiveCell.Column) <> "fehlt" Then
Cells(iZeile, ActiveCell.Column).Copy ActiveCell
Exit For
End If
Next iZeile
End Sub
cu
Chris
AW: ActiveCell.End(xlUp).Copy ActiveCell - wenn...
Karsten

Hallo ChrisL,
danke, es geht ... fast.
Zwischen der Zelle mit Inhalt "fehlt" (wenn vorhanden) und der oben drüberstehenden Zelle befinden sich noch Leerzellen. In diesem Falle wird noch nichts gefunden. Könntest du das bitte noch ändern?
Gruß
Karsten
AW: ActiveCell.End(xlUp).Copy ActiveCell - wenn...
ChrisL

Hi
Sub t()
Dim iZeile As Long
For iZeile = ActiveCell.End(xlUp).Row To 1 Step -1
If Cells(iZeile, ActiveCell.Column) <> "fehlt" And <> "" Then
Cells(iZeile, ActiveCell.Column).Copy ActiveCell
Exit For
End If
Next iZeile
End Sub

AW: ActiveCell.End(xlUp).Copy ActiveCell - wenn...
Karsten

Hallo ChrisL,
danke. Du hattest zwar etwas vergessen. Aber jetzt gehts.
If Cells(iZeile, ActiveCell.Column) <> "fehlt" And Cells(iZeile, ActiveCell.Column) <> "" Then
Gruß
Karsten
AW: ActiveCell.End(xlUp).Copy ActiveCell - wenn...
fcs

Hallo Karsten,
etwa so geht es.
Gruß
Franz
Sub CopyNichtFehlt()
Dim Zelle As Range, AktiveZelle As Range
Const strtext = "fehlt"
Set AktiveZelle = ActiveCell
Set Zelle = AktiveZelle.End(xlUp)
Do Until Zelle.Value <> strtext Or Zelle.Row = 1
Set Zelle = Zelle.Offset(-1, 0)
Loop
If Zelle.Row = 1 And Zelle.Value = strtext Then
MsgBox "Nur """ & strtext & """ in dieser Spalte!"
Else
Zelle.Copy AktiveZelle
End If
End Sub

AW: ActiveCell.End(xlUp).Copy ActiveCell - wenn...
Karsten

Hallo fcs,
danke. Zwischen der Zelle mit Inhalt "fehlt" (wenn vorhanden) und der oben drüberstehenden Zelle befinden sich noch Leerzellen. In diesem Falle wird noch nichts gefunden. Ich hatte es in meiner Fragestellung nicht mit berücksichtigt.
Gruß
Karsten
AW: der Vollständigkeit halber dann
fcs

Hallo Karsten,
dann
Sub CopyNichtFehlt()
Dim Zelle As Range, AktiveZelle As Range
Const strtext = "fehlt"
Set AktiveZelle = ActiveCell
Set Zelle = AktiveZelle.End(xlUp)
Do Until Not (Zelle.Value = strtext Or Zelle.Value = "") Or Zelle.Row = 1
Set Zelle = Zelle.Offset(-1, 0)
Loop
If Zelle.Row = 1 And (Zelle.Value = strtext Or Zelle.Value = "") Then
MsgBox "Nur """ & strtext & """ oder Leerzellen in dieser Spalte!"
Else
Zelle.Copy AktiveZelle
End If
End Sub

Gruß
Franz