Microsoft Excel

Herbers Excel/VBA-Archiv

Daten Filtern und Zellbereich löschen

Betrifft: Daten Filtern und Zellbereich löschen von: Markus
Geschrieben am: 18.11.2014 11:27:13

Hallo,

ich möchte für mein Praxissemester für eine größere Datengruppe ein Makro erstellen.
Ich habe mir einige Infos herausgesucht, aber da ich ein Neuling in sachen VBA bin bekomme ich es nicht verschachtelt.
Was ich benötige:

Das Makro soll in der Range von JT390 bis JT755 die Daten überprüfen ob eine Null vorhanden ist. Wenn eine Null dabei ist sollen die Zellen in der aktuellen Zeile von JS bis KN gelöscht und nach oben verschoben werden.

Hier das Makro wie ich es bis jetzt habe:

Sub Makro1()
Dim i As Range
a:
For Each i In Range("JT390:JT755")
If i.Value = "0" Then

With Range("JS" & i & ":KN" & i).Select

Selection.Delete Shift:=xlUp
End With
GoTo a
End If
Next i
End Sub
Wäre nett wenn mir jemand von euch Tips zur Lösung nennen könnte.

Viele Grüße

Markus

  

Betrifft: AW: Daten Filtern und Zellbereich löschen von: Rudi Maintaire
Geschrieben am: 18.11.2014 11:56:46

Hallo,
in einer For...Next-Schleife brauch man kein GoTo.
GoTo sollte man sowieso vergessen.

Sub Makro1()
  Dim i As Range
  Application.ScreenUpdating = False
  For Each i In Range("JT390:JT755")
    If i.Value = 0 Then
      Range("JS" & i & ":KN" & i).Delete Shift:=xlUp
    End If
  Next i
End Sub
Gruß
Rudi


  

Betrifft: AW: Daten Filtern und Zellbereich löschen von: Markus
Geschrieben am: 18.11.2014 12:13:36

Hallo Rudi,

danke füßr die schnelle Antwort!
Ich bekomme eine Fehlermeldung:

Laufzeitfehler 1004 Die Methode Range für das Objekt Global ist fehlgeschlagen.
Es wird die Zeile mit dem Rangebefehl gelb markiert


  

Betrifft: AW: Daten Filtern und Zellbereich löschen von: Rudi Maintaire
Geschrieben am: 18.11.2014 12:36:05

Hallo,
ist sowieso falsch. Zellen muss man immer von unten löschen.

Sub Makro1()
  Dim i As Long
  Application.ScreenUpdating = False
  For i = 755 To 390 Step -1
    If Cells(i, 280) = 0 Then
      Range(Cells(i, 279), Cells(i, 300)).Delete Shift:=xlUp
    End If
  Next i
End Sub

Gruß
Rudi


  

Betrifft: AW: Daten Filtern und Zellbereich löschen von: Markus
Geschrieben am: 18.11.2014 12:54:20

Ah ok :)

Vielen Vielen Dank!! Es funktioniert einwandfrei :)

Grüße


 

Beiträge aus den Excel-Beispielen zum Thema "Daten Filtern und Zellbereich löschen"