Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
284to288
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
284to288
284to288
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

komme nicht weiter

komme nicht weiter
24.07.2003 18:27:58
lars
hi
meine frage:
die zellen a1:a3 enthalten die werte 0,3,0 --> die vba - prozedur soll die werte ermitteln, welche = 0 sind und die dazugehörige reihe löschen!
mein versuch:

Sub beispiel()
If Range("a1") = 0 Then
Rows.Select
Selection.Delete Shift:=xlUp
ElseIf Range("a2") = 0 Then  usw.
End Sub

die problematik hierbei, die prozedur erkennt nur die erste null und löscht die dazugehörige reihe, die zweite in "a3" bleibt stehen!!
Welche möglichkeiten habe ich?

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: komme nicht weiter
24.07.2003 18:40:36
Nepumuk
Hallo Lars,
so geht's:

Option Explicit
Public Sub Lars()
Dim Zeile As Long
For Zeile = 3 To 1 Step -1
If Cells(Zeile, 1) = 0 Then Rows(Zeile).Delete Shift:=xlUp
Next
End Sub


Code eingefügt mit: Excel Code Jeanie
Gruß
Nepumuk

Anzeige
AW: komme nicht weiter
24.07.2003 19:17:31
lars
danke nepumuk!!!
ich habe noch eine frage :-)!!
Wenn diese Augangsdaten mit dem wert 0 gelöscht sind, besteht dann die möglichkeit das genau die reihe und die dazugehörige spalte in einer anderen tabelle (matrix) auch gelöscht werden kann?

AW: komme nicht weiter
24.07.2003 19:18:57
Nepumuk
Hallo Lars,
selbe Mappe oder andere?
Gruß
Nepumuk

AW: komme nicht weiter
24.07.2003 19:22:07
lars
selbe mappe!

AW: komme nicht weiter
24.07.2003 19:28:35
Nepumuk
Hallo Lars,
so:

Option Explicit
Public Sub Lars()
Dim Zeile As Long
With Worksheets(Array("Tabelle1", "Tabelle2"))
For Zeile = 3 To 1 Step -1
If Cells(Zeile, 1) = 0 Then Rows(Zeile).Delete Shift:=xlUp
Next
End With
End Sub


Code eingefügt mit: Excel Code Jeanie
Gruß
Nepumuk

Anzeige
AW: komme nicht weiter
24.07.2003 19:48:30
lars
hallo nepumuk,
habe deine prozedur ausprobiert, es passiert in tabelle2 leider nichts. Was kann die ursache seine?
danke, lars

AW: komme nicht weiter
24.07.2003 20:08:59
Nepumuk
Hallo Lars,
das funktioniert bei einem Worksheetarray anscheinend nur mit der Select-Anweisung. Dann machen wir es so:

Option Explicit
Public Sub Lars()
Dim Zeile As Long
With Worksheets("Tabelle1")
For Zeile = 3 To 1 Step -1
If .Cells(Zeile, 1) = 0 Then
.Rows(Zeile).Delete Shift:=xlUp
Worksheets("Tabelle2").Rows(Zeile).Delete Shift:=xlUp
End If
Next
End With
End Sub


Code eingefügt mit: Excel Code Jeanie
Gruß
Nepumuk

Anzeige
AW: komme nicht weiter
24.07.2003 20:48:55
lars
danke nepumuk!!!
nun funktioniert alles!!!!!!!
lars

AW: komme nicht weiter
24.07.2003 19:15:48
KViertel
Hallo Lars,
dein Problem liegt darin begründet, das dein Beispiel nur die zelle "A1" bearbeitet. Der Vorgang muß sich in einer Schleife abspielen.

Sub beispiel()
' i wird die anzahl der markierten Zeilen in Spalte A zugewiesen
' die Markierung wird von unten nach oben abgearbeitet
For i = selection.cells(selection.cells.count).row to selection.cells(1).row step -1
'wenn der Wert der zelle(zeile,Spalte 1= "A") = 0 ist dann lösche die Zeile
If cells(i, 1).value = 0 then
rows(i).delete
endif
next i
End Sub

MfG. Klaus

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige