Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
972to976
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
972to976
972to976
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Lösche Zeile wenn ...

Lösche Zeile wenn ...
03.05.2008 16:35:00
helena
Hallo
kämpfe mit Macro möchte in Varaible Löschbegriff deklarieren aber es macht Schlaufe und hängt sich auf
es muss Zahl, Text oder LEER funktionieren, falls mehre möglich auch kein Problem

Sub loeschen1()
Application.ScreenUpdating = False
Dim i As Integer
Dim such As String
'such = ?    wenn Zelle leer ?
Worksheets("Tabelle1").Activate
For i = 6 To 400
If Cells(i, 2).Value = "UHR" Then
Rows(i).Delete
i = 1 + 1
End If
Next i
Application.ScreenUpdating = True
End Sub


Vielen Dank für Antwort
gruss aus CH
helena

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Lösche Zeile wenn ...
03.05.2008 17:00:14
Hajo_Zi
Hallo Helena,
beim löschen von Zeilen sollte man die Schleife vom letzten zum ersten Datensatz laufen lassen.
Was Du mit i = 1 + 1 erreich wilst ist mir nicht klar, das bedeutet nur falls eine Zeile gelöscht beginne in Zeile 2 der vor Deinem Schleifebeginn ist.
Zu diesem Problem gibt es bestimmt schon zig Beiträge im Archiv.

AW: Lösche Zeile wenn ...
03.05.2008 17:02:00
hary
Hallo Helena
Mei VBA ist auch bescheiden,war froh das ich das hinbekommen habe. Bei mir werden so die Zellen geloescht wo "frei" drinsteht, vieleicht hilfts Dir weiter

Dim var As Variant
Dim iRow As Integer, iRowL As Integer
iRowL = Cells(Rows.Count, 5).End(xlUp).Row
For iRow = iRowL To 1 Step -1
var = Application.Match("*frei*", Rows(iRow), 0)
If Not IsError(var) Then
Rows(iRow).Delete
End If


Gruss Hary

Anzeige
AW: Lösche Zeile wenn ...
03.05.2008 17:23:50
Horst
Hi,
aber:
Dim lngRow As Long, lngRowL As Long
sonst gibts mal Überraschungen.
mfg Horst

DANKE ich habs ....
03.05.2008 17:26:05
helena
gruss helena

AW:Danke Horst fuer den Tip
03.05.2008 17:33:00
hary
Hallo Horst
Dank fuer den Tip. Werde ich aendern. So wie es jetzt geschrieben war funktioniert es( bis jetzt). Ist auch nur ein auszug aus dem Makro gewesen.
Verbesserungen werden immer gerne aufgegriffen.
Gruss Hary
Mann lernt nie aus, aber was fuer eine Ueberraschung koennte kommen? Bin lern willig!

AW: AW:Danke Horst fuer den Tip
03.05.2008 17:42:00
Daniel
Hi
integerzahlen gehen nur bis 37-tausend und irgendwas.
darüber hinaus braucht man LONG-Integer zahlen.
und da bei Excel (bis V2003) 65536 Zeilen (bei v2007 16 Mio) möglich sind, sollte man darauf vorbereitet sein.
Außderdem wurde mal in einem Wort zum Sonntag hier berichtet, daß für Zeilen- und Spalten-Nummern intern immer LONG-Integer verwendet wird.
Wird nun eine im Code eine Integer-Variable als Zeilen-Nr. verwendet, muss diese erst umgewandelt werden.
Es bringt also keinen Vorteil, Integer-Variablen zu verwenden, daher lieber gleich immer LONG nehmen, das bisschen Speicherplatz sollte kein Problem sein.
gruß Daniel

Anzeige
AW: alles klar Daniel
03.05.2008 17:47:54
hary
Hallo Daniel
Danke fuer die Erklaerung.
Hary

AW: AW:Danke Horst fuer den Tip
03.05.2008 18:42:23
Hajo_Zi
Halo Daniel,
16 Mio, wären ganz schon viele es reicht auch paar über 1,0 Mio.
Gruß Hajo

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige