Office: Makro nur ausführen wenn in einer Spalte ein spezieller Text nicht vorkommt

Helfe beim Thema Makro nur ausführen wenn in einer Spalte ein spezieller Text nicht vorkommt in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich möchte aus einen Bericht einer Tabelle erstellen, wenn ein spezieller Wert in einer Spalte nicht vorkommt. Ansonsten soll eine Message... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Lampe, 19. Juni 2023.

  1. Lampe Neuer User

    Makro nur ausführen wenn in einer Spalte ein spezieller Text nicht vorkommt


    Hallo,

    ich möchte aus einen Bericht einer Tabelle erstellen, wenn ein spezieller Wert in einer Spalte nicht vorkommt. Ansonsten soll eine Message erscheinen: "Für diesen Fall ist der Bericht nicht möglich"
    Spalte C:
    Text 1 - Bericht möglich
    Text 2 - Bericht nicht möglich
    Text 3 - Bericht möglich

    Das Makro für den Bericht habe ich bereits, ich bräuchte die Ergänzung für die Einschränkung und Msgbox.
    Leider sind meine VBA Kenntnisse sehr begrenzt.
     
    Lampe, 19. Juni 2023
    #1
  2. d'r Bastler
    d'r Bastler Erfahrener User
    Moin, das lässt sich mit einer einfachen Schleife lösen:
    Code:
    Option Explicit
    Sub Version()
    Dim i As Integer, r As Integer
    Dim sFailure As String, sMessage As String
    
    sFailure = "Text 2"   'ANPASSEN
    sMessage = "Bericht nicht möglich"
    r = UsedRange.Rows.Count
    
    For i = 1 To r
        If Cells(i, 3) = sFailure Then
            MsgBox sMessage, , Cells(i, 3) & " in Zeile " & i
        End If
    Next i
    
    End Sub
    
    Der Code (gehört in die Tabelle) geht alle belegten Zeilen durch und vergleicht den Wert in Spalte C mit sFailure. Falls vorhanden erscheint die Messagebox mit Hinweis auf die entsprechende Zeile. Text 1, 3 ... n werden ignoriert

    Grüße
     
    d'r Bastler, 19. Juni 2023
    #2
  3. Beverly
    Beverly Erfahrener User
    Hi,

    und bei Vorhandensein welches speziellen Wertes soll dein Code nicht ausgeführt, also kein Bericht erstellt werden - bei Text 2?

    Code:
    Sub TextVorhanden()
        If Application.CountIf(Columns(3), "Bericht nicht möglich") = 0 Then
            ' hier dein Code
        Else
            MsgBox "Bericht erstellen nicht möglich"
        End If
    End Sub
    

    Makro nur ausführen wenn in einer Spalte ein spezieller Text nicht vorkommt GrußformelMakro nur ausführen wenn in einer Spalte ein spezieller Text nicht vorkommt Beverly's Excel - Inn
     
    Beverly, 19. Juni 2023
    #3
  4. d'r Bastler
    d'r Bastler Erfahrener User

    Makro nur ausführen wenn in einer Spalte ein spezieller Text nicht vorkommt

    Moin Karin,

    wozu zählst den Messagetext in Spalte C, in der laut (@Lampe: gut formulierten) Anfrage doch nur Text 1,,, Text 2, Text 3 usw. stehen?

    fragt sich ...
     
    d'r Bastler, 19. Juni 2023
    #4
  5. Lampe Neuer User
    @d'r Bastler
    Vielen herzlichen Dank. Werde es einbauen und testen.
     
    Lampe, 20. Juni 2023
    #5
  6. d'r Bastler
    d'r Bastler Erfahrener User
    Moin Lampe,

    zwei Tipps als Nachtrag:
    • Ich werde immer wieder angemault, dass ich Schleifenzähler (hier i & r) als Integer statt als Long deklariere, weil damit weniger Zeilen durchlaufen werden können. Wenn Deine Tabelle also größer als 32.000 Zeilen ist, nimm Long
    • Wann Du in Deiner Routine die Schleife laufen lassen willst, weiß ich natürlich nicht. Aber Du hast dafür die Möglichkeit, den Code dann in ein Allg. Modul auszulagern und aus der (beliebig vielen) Tabelle(n) heraus aufzurufen.

    Code:
    'Dein Code
    
    Call Version
    'Call brauchst Du nicht wirklich, hilft aber Deinen Code gut lesbar zu halten
    
    'weiter in Deinem Code
    Mein Code oben müsste dann etwas modifiziert werden:

    Code:
    Sub Version()
    Dim i As Integer, r As Integer
    Dim sFailure As String, sMessage As String
    
    sFailure = "Text 2"   'ANPASSEN
    sMessage = "Bericht nicht möglich"
    
    With ActiveSheet
    r = .UsedRange.Rows.Count
    
    For i = 1 To r
        If .Cells(i, 3) = sFailure Then
            MsgBox sMessage, , .Cells(i, 3) & " in Zeile " & i
        End If
    Next i
    End With
    End Sub
    Viel Spaß wünscht ...
     
    d'r Bastler, 20. Juni 2023
    #6
Thema:

Makro nur ausführen wenn in einer Spalte ein spezieller Text nicht vorkommt

Die Seite wird geladen...
  1. Makro nur ausführen wenn in einer Spalte ein spezieller Text nicht vorkommt - Similar Threads - Makro ausführen Spalte

  2. Makro nur in einer Datei ausführen.

    in Microsoft Excel Hilfe
    Makro nur in einer Datei ausführen.: Hallo, habe eine Excel Datei die in bestimmten Intervallen die Verlinkungen aktualisiert. Das funktioniert auch wunderbar. Allerdings wenn ich noch eine andere Excel Datei zusätzlich öffne...
  3. Probleme Marko Ausführung

    in Microsoft Excel Hilfe
    Probleme Marko Ausführung: Hallo, ich versuche derzeit ein einfaches Berechnungsformular zu erstellen. Hinter dem Formular, das einfach zu verwenden sein sollte, liegt ein Datenblatt mit ausgewerteten Daten. Ich habe ein...
  4. Makros nach wenn dann prüfen und durchführen

    in Microsoft Excel Hilfe
    Makros nach wenn dann prüfen und durchführen: Ich arbeite zurzeit an einer Übersichtstabelle, aus der ich Informationen aus verschiedene Excelformulare entnehme. Da aber es ziemlich zeitaufwendig ist, jede einzelne Angabe manuell auf die...
  5. Makro nur ausführen wenn wenigstens eine Zelle gefüllt

    in Microsoft Excel Hilfe
    Makro nur ausführen wenn wenigstens eine Zelle gefüllt: Hallo, ich habe leider nur extrem wenig Erfahrung mit Makros und VBA. Aus diesem Grund habe ich mir etwas zusammengebastelt. Wahrscheinlich etwas zu kompliziert für diejenigen die es können. Und...
  6. Eintragung in mehrere Tabellen

    in Microsoft Excel Hilfe
    Eintragung in mehrere Tabellen: Hallo an alle. Ich habe ein kleines Problem. Ich habe schon ein Makro erstellt für eine Eingabemaske die per Knopfdruck erscheint. Diese hab ich in verschiedenen Tabellenblättern integriert für...
  7. Makro neu ausführen wenn Daten gefiltert werden

    in Microsoft Excel Hilfe
    Makro neu ausführen wenn Daten gefiltert werden: Hi zusammen, wenn ich auf meine Daten einen Filter anwende, soll ein bestimmtes Makro ausgeführt werden. [ATTACH] Also wenn ich bspw. bei Derivat "G70" rausnehme, soll ein Makro automatisch neu...
  8. Makro bei Klick auf Spalte ausführen

    in Microsoft Excel Hilfe
    Makro bei Klick auf Spalte ausführen: Hallo miteinander Mit diesem Code kann ich meinen Code ausführen sobald ich auf G23 klicke: Code: Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address = "$G$23" Then . ....
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden