Microsoft Excel

Herbers Excel/VBA-Archiv

wenn..., dann...

Betrifft: wenn..., dann...
von: mehmet
Geschrieben am: 22.04.2003 - 10:51:06


hallo zusammen,
folgende wenn, dann frage zu einem makro:


wenn spalte d2 leer,
dann
wenn d3 leer dann 'beginne mit mappe1 und zelle d3
d2 bis d10 löschen, 'es sollen 10 reihen gelöscht werden
sonst gehe zu d3. 'sonst eine reihe tiefer und von neu
'bis zelle d30


ich hoffe, dass ich mich ausdrücken konnte

dank und gruss






  

Re: wenn..., dann...
von: moe
Geschrieben am: 22.04.2003 - 15:32:29

Ne das war leider nichts Erklär es bitte nochmal kann dir bestimmt helfen

Gruss

moe

  

Re: wenn..., dann...
von: Ingo
Geschrieben am: 22.04.2003 - 16:33:57

Hi ...

Wenn ich Deine Frage richtig verstanden habe, dann dies hier mal als Lösungsansatz:

Sub Test()
If Range("D2") = "" Then
If Range("D3") = "" Then
Range("D2:D10").ClearContents
Else
Range("D3").Select
End If
End If
End Sub

Gruß
Ingo

  

Re: wenn..., dann...
von: mehmet
Geschrieben am: 23.04.2003 - 00:40:47

besten dank für dein forschlag ingo
allerdings passiert leider nichts!

wenn active.sheet "d2" leer, dann gucken ob
zelle "d3" auch leer ist
wenn ja, dann zehn reihen ab d2 nach unten löschen, sonst
offset eine zelle tiefer gehen und wieder scleife mit "d3" abfragen

moe, ich hoffe diesmal konnte ich es besser darstellen

dank an euch beide und hoffe,
eine lösung zu bekommen
gruss

  

Lösung
von: moe
Geschrieben am: 23.04.2003 - 03:07:09

Hallo Mehmet

also mehmet wenn ich dich richtig werstanden habe sollte das funktionieren.

Konnte es leider nur excel XP testen
sollte aber trotzdem gehen.

Gruss
moe
Bitte sag beschei ob es funktioniert hat.

Sub Zellenlöschen()

'Erstell von moe3008@aol.com für das Herber Forum


Dim z As Integer
Range("d3").Activate
z = ActiveSheet.UsedRange.Rows.Count
For i = 1 To z
If IsEmpty(ActiveCell) = True And IsEmpty(ActiveCell.Value) = True Then
Range(ActiveCell, ActiveCell.Offset(10, 0)).ClearContents
ActiveCell.Offset(10, 0).Activate
End If
ActiveCell.Offset(1, 0).Activate
Next i
End Sub

  

Re: Lösung
von: mehmet
Geschrieben am: 26.04.2003 - 07:55:42

dank dir moe
leider lauft es nicht
schade
aber es passiert was

es sollen also zellinhalte (10reihen nach unten) geloescht werden,
wenn die aktive zelle und dadrunterliegende zelle leer ist.

drotzdem dank und gruss

  

Re: Lösung
von: moe
Geschrieben am: 27.04.2003 - 02:09:08

Wie es läuft nicht schreib mir mal eine Mail und sag mir was nicht funktioniert.

bei mir hatt es geklappt
Gruss
moe

  

Re: Lösung
von: moe3008
Geschrieben am: 27.04.2003 - 02:23:59

Du hast recht da war ein Tippfehler drin hier nimm diesen code

Gruss

moe
sag bescheid ob es klappt

Sub Zellenlöschen()

'Erstell von moe3008@aol.com für das Herber Forum


Dim z As Integer
Range("d3").Activate
z = ActiveSheet.UsedRange.Rows.Count
For i = 1 To z
If IsEmpty(ActiveCell) = True And IsEmpty(ActiveCell.Offset(1, 0).Value) = True Then
Range(ActiveCell, ActiveCell.Offset(10, 0)).ClearContents
ActiveCell.Offset(10, 0).Activate
End If
ActiveCell.Offset(1, 0).Activate
Next i
End Sub