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

Makrofehler

Makrofehler
27.02.2008 22:15:01
Dirk
Hallo an alle Tüftler,
eigentlich soll untenstehendes Makro u.a. folgendes erledigen:
Wenn in Spalte B der gefundenen Zeile nix steht (also leer), dann lösche die gesamte Zeile.
Steht dort aber etwas, dann lösche nur den Eintrag in Spalte J.

Das Makro löscht aber immer - wo liegt mein Fehler ?

Sub Markieren2()
Dim rng As Range
Set Auswahl = Selection
Application.ScreenUpdating = False
Set rng = Cells.Columns(3).Find(what:=Auswahl, lookat:=xlWhole, LookIn:=xlValues)
rng.Select
If IsEmpty(rng.Offset(-1, 0)) Then
Selection.EntireRow.Delete Shift:=xlUp
Else
Cells(Selection.Row, 10) = ""
End If
Application.ScreenUpdating = True
End Sub


MfG Dirk

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makrofehler
27.02.2008 22:33:00
Uduuh
Hallo,
Variablendeklartion: mangelhaft

Sub Markieren2()
Dim rng As Range
auswahl = Selection.value
Application.ScreenUpdating = False
Set rng = Cells.Columns(3).Find(what:=Auswahl, lookat:=xlWhole, LookIn:=xlValues)
If IsEmpty(rng.Offset(-1, 0)) Then
rng.EntireRow.Delete Shift:=xlUp
Else
Cells(rng.Row, 10) = ""
End If
Application.ScreenUpdating = True
End Sub


Gruß aus’m Pott
Udo

AW: Makrofehler
27.02.2008 22:37:00
Josef
Hallo Dirk,
du prüfst in der falschen Zeile.
Sub Markieren2()
Dim rng As Range
Dim Auswahl As Variant

Auswahl = Selection

Set rng = Cells.Columns(3).Find(what:=Auswahl, lookat:=xlWhole, LookIn:=xlValues)

If Not rng Is Nothing Then
    If IsEmpty(rng.Offset(0, -1)) Then
        rng.EntireRow.Delete Shift:=xlUp
    Else
        rng.Offset(0, 7) = ""
    End If
End If

Set rng = Nothing
End Sub


Gruß Sepp



Anzeige
AW: Makrofehler
27.02.2008 23:45:33
Dirk
Hallo Udo, hallo Sepp,
@Udo
Nun wird immer nur der Eintrag in Spalte J gelöscht.
Wenn aber in Spalte B nix steht, soll ja die gesamte Zeile gelöscht werden.
@Sepp
Nun wird gar nichts mehr gelöscht.
Doch du hattest Recht bzgl. des Prüfens in der falschen Zelle.
Aber aus beiden Tipps habe ich etwas Funtionierendes zusammengebastelt...
Zwar habe ich schon einige Male direkt in der Datei getestet u. es funktioniert, aber ich habe Bedenken, daß mein laienhaftes Flickwerk irgendwann doch den Dienst versagt.
Wenn ihr also schwere Fehler seht, dann gebt bitte nochmal Bescheid.
Ich danke euch beiden für die Unterstützung - allein hätte ich das nie hinbekommen !
MfG Dirk

Sub Markieren2()
Dim rng As Range
Auswahl = Selection
Set rng = Cells.Columns(3).Find(what:=Auswahl, lookat:=xlWhole, LookIn:=xlValues)
rng.Select
If IsEmpty(rng.Offset(0, -1)) Then
rng.EntireRow.Delete Shift:=xlUp
Else
Cells(rng.Row, 10) = ""
End If
End Sub


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige