Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1488to1492
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

Wenn Und Dann VBA

Wenn Und Dann VBA
21.04.2016 15:56:10
Benedikt

Hallo
Ich habe einen kleinen Knotten im Kopf
Ich brache eine VBA Formel die wie folgt aus sehen sollte.
Wenn Zelle AD kleiner 100 ist Und in Zelle AC "frei Haus" steht Dann soll sich eine Messagebox öffnen
Ich bedanke mich schonmal im vorraus und wünsche nen schönen Rest Abend
MFG
Benedikt

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

Betreff
Datum
Anwender
Anzeige
AW: Wenn Und Dann VBA
21.04.2016 16:02:24
Daniel
Hi
für ne einzelne Zeile:
if Range("AD1").Value < 100 And Range("AC1") = "frei Haus" then Msgbox "Huhu"
wenn du die ganze Spalte auf einmal überprüfen willst:
if Worksheetfunction.countIf(Columns(30), "<100", Columns(29), "frei Haus") > 0 Then Msgbox "Huhu"
Gruß Daniel

AW: Wenn Und Dann VBA
21.04.2016 16:05:17
Nepumuk
Hallo,
in Spalte AD und AC gibt es je 1.048.576 Zellen. Welche davon meinst du denn?
Gruß
Nepumuk

AW: Wenn Und Dann VBA
21.04.2016 16:24:17
Benedikt
Hallo
Vielen Dank für die Antworten
16 bis 29
MFG
Benedikt

AW: Wenn Und Dann VBA
21.04.2016 16:33:36
Nepumuk
Hallo,
in das Modul der Tabelle:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim objRange As Range, objCell As Range
    Dim blnMessage As Boolean
    Set objRange = Intersect(Target, Range("AD16:AC29"))
    If Not objRange Is Nothing Then
        For Each objCell In objRange
            If objCell.Column = 29 Then
                If objCell.Value > 100 And objCell.Offset(0, 1).Value = "frei Haus" Then blnMessage = True
            Else
                If objCell.Offset(0, 1).Value > 100 And objCell.Value = "frei Haus" Then blnMessage = True
            End If
        Next
        If blnMessage Then Call MsgBox("Dein Text.", vbExclamation, "Hinweis")
        Set objRange = Nothing
    End If
End Sub

Gruß
Nepumuk

Anzeige
AW: Wenn Und Dann VBA
22.04.2016 15:58:40
Benedikt
Hallo Nepumuk
vielen Dank für diese detailliert Antwort.
Leider öffnet sich keine Messagebox
In den zellen AC sind Dropdown Felder. Liegt da das Problem
Oder kann es sein das der Code nur gilt wenn alle zellen(16:29) von AC und AD der wenn funktion esnsprechen müssen. Hier brauche ich so gesagt eine Oder funktion das: AD16 größer 100 und AC16 gleich "frei haus" oder AD17 und AD16 dann kommt die Msgbox
Ich bedanke mich vielmals dass Ihr alle so viel Zeit investiert
Gruß Benedikt

AW: Wenn Und Dann VBA
22.04.2016 16:22:31
Nepumuk
Hallo,
kannst du eine Mustermappe hochladen damit ich das realistisch testen kann?
Gruß
Nepumuk

Anzeige
AW: Wenn Und Dann VBA
26.04.2016 11:59:33
Nepumuk
Hallo,
ich hab die Spalten vertauscht, so sollte es funktionieren:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim objRange As Range, objCell As Range
    Dim blnMessage As Boolean
    Set objRange = Intersect(Target, Range("AD16:AC29"))
    If Not objRange Is Nothing Then
        For Each objCell In objRange
            If objCell.Column = 29 Then
                If objCell.Value = "frei Haus" And objCell.Offset(0, 1).Value > 100 Then blnMessage = True
            Else
                If objCell.Offset(0, -1).Value = "frei Haus" And objCell.Value > 100 Then blnMessage = True
            End If
        Next
        If blnMessage Then Call MsgBox("Dein Text.", vbExclamation, "Hinweis")
        Set objRange = Nothing
    End If
End Sub

Gruß
Nepumuk

Anzeige

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige