Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1748to1752
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
Inhaltsverzeichnis

Tabelle prüfen bevor Makro weiter ausgef

Tabelle prüfen bevor Makro weiter ausgef
07.04.2020 11:31:34
Tobias
Hallo,
bevor ein (vorhandenes) Makro (weiter) ausgeführt wird, soll am Anfang des Makros zuerst abgefragt werden, ob die erforderliche Bedingung dafür erfüllt ist: Es soll in der Tabelle noch mindestens eine Zeile geben, in der
- in der Spalte D ein Wert größer als 0 eingetragen ist UND
- in der Zelle daneben in der Spalte E der Eintrag „A“ steht UND
- die Zelle daneben in der Spalte F noch keinen Eintrag enthält.

1) Falls es so eine Zeile noch gibt, soll das Makro weiter ausgeführt werden.
2) Falls das nicht der Fall ist, soll das Makro abgebrochen werden und die Meldung ausgegeben werden: „Es ist keine Zeile mehr frei!“. Danach sollte das Makro neu ausgeführt werden können, sobald eine weitere geeignete Zeile eingefügt wurde.
Freue mich über jeden Hinweis!
Tobias

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

Betreff
Datum
Anwender
Anzeige
AW: Tabelle prüfen bevor Makro weiter ausgef
07.04.2020 12:39:42
Nepumuk
Hallo Tobias,
würde ich so machen:
Option Explicit

Public Sub Beispiel()
    Dim objCell As Range
    Dim strFirsAddress As String
    Dim blnFound As Boolean
    Dim lngRow As Long
    Set objCell = Columns(5).Find(What:="A", LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=True)
    If Not objCell Is Nothing Then
        strFirsAddress = objCell.Address
        Do
            If IsEmpty(objCell.Offset(0, 1).Value) Then
                If objCell.Offset(0, -1).Value > 0 Then
                    blnFound = True
                    lngRow = objCell.Row
                    Exit Do
                End If
            End If
            Set objCell = Columns(5).FindNext(After:=objCell)
        Loop Until objCell.Address = strFirsAddress
        Set objCell = Nothing
        If blnFound Then
            MsgBox lngRow
        Else
            Call MsgBox("Es ist keine Zeile mehr frei!", vbExclamation, "Hinweis")
            Exit Sub
        End If
    End If
    'weiterer Code
End Sub

Gruß
Nepumuk
Anzeige
AW: Tabelle prüfen bevor Makro weiter ausgef
07.04.2020 13:01:02
Tobias
Hallo Nepomuk,
wow - klappt super! Es kommt zwar nun auch ein Message-Fenster (mit der lfd. Nummer), wenn/obwohl noch eine Zeile frei ist, aber das verschwindet auch, wenn ich die Zeile
MsgBox lngRow
einfach weglasse ...
Danke + Grüße,
Tobias
AW: Tabelle prüfen bevor Makro weiter ausgef
07.04.2020 13:06:09
Nepumuk
Hallo Tobias,
die war nur als Beispiel drin damit du siehst welche Zeile frei ist. Die kannst du natürlich löschen.
Gruß
Nepumuk

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige