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

VBA Zählen wenn mit vielen Bedingungen

VBA Zählen wenn mit vielen Bedingungen
04.03.2015 08:05:04
Sascha
Hallo Experten, Hallo Daniel
(Der Code ist von Daniel und funktioniert super)
Ich brauche nochmals eine Hilfe zu einem Code.
Ich möchte ein weiteres Kriterium setzen.
Es soll mir alle Einträge die mit der Farbe und dem Datum und dem Monat (wie bis jetzt) vorhanden sind, aber nur die, welche in der dazugehörigen rechten Spalte "Problektion" drin stehen haben.
habs so probiert, jedoch ohne Erfolg:
Option Explicit
Option Private Module
Sub probelektionen_Mirjam() 'Probelektionen Mirjam pro Monat und Jahr
Dim c As Range
Dim Jahr As Long
Dim dicDat1 As Object
Dim monat1 As Long
Jahr = Sheets("Kostenkontrolle").Range("C2").Value
monat1 = Sheets("Kostenkontrolle").Range("B7").Value
Set dicDat1 = CreateObject("Scripting.Dictionary")
For Each c In Sheets("Abonnemente").Range("Q16:R500").Cells
If c.Text = "Probelektion" Then
If c.Interior.Color = Sheets("Abonnemente").Range("I3").Interior.Color Then
If IsDate(c.Value) Then
If Year(c.Value) = Jahr Then
If Month(c.Value) = monat1 Then
dicDat1(c) = 1
End If
End If
End If
End If
End If
Next
Sheets("Kostenkontrolle").Range("B12") = dicDat1.Count
End Sub
Ah... die Zellen in der Spalte "R" sind NICHT eingefärbt
Weis jemand Rat?
Gruss Sascha

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Zählen wenn mit vielen Bedingungen
04.03.2015 08:15:25
Daniel
Hi
steht jetzt in c das Datum oder Probelektion?
Beides gleichzeitig geht nicht (es sei denn, du schreibst in die Zelle mit dem Datum per benutzerdefiniertem Zahlenformat den Text "Probelektion", denn mit .Value fragst du den unformatierten Zellwert ab und mit .Text den durch die Formatierung erzeugten in der Zelle angezeigten Wert)
wenn du eine Nachbarzelle ansprechen willst, müsstest du mit .Offset arbeiten.
dh wenn in Zelle Q16 das Datum und in R16 der Text steht, dann:
If c.Offset(0, 1).Value = "Probelektion" Then
If isDate(c.Value) Then
Gruß Daniel

Anzeige
AW: VBA Zählen wenn mit vielen Bedingungen
04.03.2015 08:28:00
Sascha
Hallo Daniel,
Super, so funktioniert es...
Ich hatte immer die Idee ich könnte den Bereich auf 2 Spalten erweitern ("Q16:R500"), aber das funktionierte nicht.
Mit If c.Offset(0, 1).Value = "Probelektion" Then
klappt es genau so wie es sein soll.
Vielen herzlichen Dank Daniel.
Unglaublich wie schnell Du solche Sachen lösen kannst.
Liebe Grüsse
Sascha

329 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige