Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
160to164
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
160to164
160to164
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Identische Werte = Löschen ganze Zeile

Identische Werte = Löschen ganze Zeile
21.09.2002 17:09:03
ROlf
Hallo zusammen,

habe mir folgendes ausgedacht:

wenn in einer Zelle einer Zeile ein x-beliebiger Inhalt steht, (welchen ich vorher benennen möchte), dann sollen diese Zeilen komplett gelöscht werden. Ist das machbar ?

Danke
ROlf

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Identische Werte = Löschen ganze Zeile
21.09.2002 18:10:34
andre
Hallo Rolf,
Sub Makro1()
meineEingabe = Application.InputBox("Geben Sie etwas ein:")
letzteZelle = Range("A65536").End(xlUp).Row
For i = letzteZelle To 1 Step -1
If Range("A" & i) = meineEingabe Then
Rows(i & ":" & i).Delete Shift:=xlUp
End If
Next
End Sub
gruss ANdre
Re: Identische Werte = Löschen ganze Zeile
21.09.2002 21:51:42
ROlf
Hallo Andre,

dank' Dir für das flotte Makro.

Gruß ROlf

Re: Identische Werte = Löschen ganze Zeile
22.09.2002 15:18:19
andre
Hallo Rolf,
der Vollständigkeit halber noch eine weitere Version. Die erste führt das Makro auch bei Abbrechen der Inputbox aus. Dadurch werden eventuell vorhandene Leerzeilen gelöscht. Verhindern kannst Du das mit dieser Version:
Sub Makro1()
meineEingabe = Application.InputBox("Geben Sie etwas ein:")
If meineEingabe <> False Then
Range("A65536").End(xlUp).Select
letzteZelle = Selection.Row
letzteZelle = Range("A65536").End(xlUp).Row
For i = letzteZelle To 1 Step -1
If Range("A" & i) = meineEingabe Then
Rows(i & ":" & i).Delete Shift:=xlUp
End If
Next
End If
End Sub
gruss Andre
Anzeige
Re: Identische Werte = Löschen ganze Zeile
22.09.2002 21:45:14
ROlf
Hallo Andre,

dank Dir auch für die 2. Variante. Sicher is`sicher.
Wie könnte man dieses Makro denn noch erweitern zb. suchen nach Wildcards RO* oder RO* && *Olf. Jetzt arbeitet das Makto ja mit einer festen Variabelen ?

Gruß ROlf

... mit Wildcards
23.09.2002 17:57:48
andre

Sub Makro1()
'Eingabe mit Wildcards
'verarbeitet wird Text, *ext, *xt, *t, Tex*, Te*, T*, *ex*, *e*, *x*, T*xt, Te*t
'nicht verarbeitet werden T**t, T*x*, *x*t, usw., also mehrere innere und die
'Kombination innere / äußere Wildcards
'verwendete Variablen: meineEingabe, bei Bedarf definieren
meineEingabe = Application.InputBox("Geben Sie etwas ein:")
If meineEingabe <> False Then
    'nicht ausführen wenn Abbruch der Inputbox
  letzteZelle = Range("A65536").End(xlUp).Row
    'A65536 ist letzte Zelle bei Excel97 (und 2000 und ff?)
  For i = letzteZelle To 1 Step -1
  If InStr(1, meineEingabe, "*") >= 1 Then
    'wenn Wildcards vorhanden, wenn nicht dann im Else-Zweig
    If Right(meineEingabe, 1) = "*" And Left(meineEingabe, 1) = "*" Then
    'äußere Wildcards auf beiden Seiten
      If InStr(1, Range("A" & i), Left(Right(meineEingabe, Len(meineEingabe) - 1), Len(meineEingabe) - 2)) >= 1 Then
         Rows(i & ":" & i).Delete Shift:=xlUp
      End If
    ElseIf Right(meineEingabe, 1) = "*" Then
    'äußere Wildcards rechte Seite
      If Left(Range("A" & i), Len(meineEingabe) - 1) = Left(meineEingabe, Len(meineEingabe) - 1) Then
        Rows(i & ":" & i).Delete Shift:=xlUp
      End If
    ElseIf Left(meineEingabe, 1) = "*" Then
    'äußere Wildcards linke Seite
      If Right(Range("A" & i), Len(meineEingabe) - 1) = Right(meineEingabe, Len(meineEingabe) - 1) Then
        Rows(i & ":" & i).Delete Shift:=xlUp
      End If
    Else
      If Left(Range("A" & i), Len(meineEingabe) - InStr(2, meineEingabe, "*")) _
         = Left(meineEingabe, Len(meineEingabe) - InStr(2, meineEingabe, "*")) _
       And Right(Range("A" & i), Len(meineEingabe) - InStr(2, meineEingabe, "*")) _
         = Right(meineEingabe, Len(meineEingabe) - InStr(2, meineEingabe, "*")) _
      Then
    'inneres Wildcard
        Rows(i & ":" & i).Delete Shift:=xlUp
      End If
    End If
  Else
    If Range("A" & i) = meineEingabe Then
    'kein Wildcard
      Rows(i & ":" & i).Delete Shift:=xlUp
    End If
  End If
  Next
  End If
End Sub
 
     Code eingefügt mit Syntaxhighlighter 1.16



Anzeige
Re: ... mit Wildcards
23.09.2002 21:58:17
ROlf
Hallo Andre,

Hut ab.

Wenn Du ein bisschen Zeit hättest und Dich für ein "wirkliches" Problem bezüglich Makro in Excel hättest, dann mail mir doch mal. Ich habe eine komplexes Makro geerbt und komme damit nicht weiter.

Danke Dir soweit.

ROlf

Re: ... mit Wildcards
24.09.2002 05:28:23
andre
Hallo Rolf,
ich hab nur Excel97, wenn Dein Makro aus 2000 stammt kann es Probleme geben. Na und dann ist da noch der Zeitfaktor, wie Du richtig bemerkt hast...

gruss Andre

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige