Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

formelwerte überprüfen

Forumthread: formelwerte überprüfen

formelwerte überprüfen
01.01.2025 17:15:17
Ironlucky
in Tabellenblatt steht folgende Formel :
=WENN(H361=1;ISOKALENDERWOCHE(A361);" ")
ich möchte jetzt per VBA überprüfen ob dies KW 52 ergibt,
dazu hatte ich mir folgenden Code gedacht :
Dim finden As Range

Set finden = Range("I360:I369").Find(what:="KW 52")
If finden = True Then
Exit Sub
End If

in der Zelle ergibt sich auch KW 52 aber beim code bekomme ich immer Nothing

vielleicht könnt ihr mir auf die sprünge helfen Danke
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: formelwerte überprüfen
01.01.2025 17:21:01
RPP63
Moin!

«in der Zelle ergibt sich auch KW 52»
Nö!
In der Zelle steht der Wert 52 und das Zahlenformat "KW "0

Gruß Ralf
AW: formelwerte überprüfen
01.01.2025 18:15:18
BoskoBiati2
Hi,

und die Formel ist ganz schlecht, da sie keine leere Zelle erzeugt, sondern eine Zelle mit einem Leerzeichen, was für Auswertungen tödlich sein kann.

=WENN(H361=1;ISOKALENDERWOCHE(A361);"")


Gruß

Edgar
Anzeige
AW: formelwerte überprüfen
01.01.2025 18:23:06
GerdL
Oder ohne Hunde
Dim finden As Range

Set finden = Range("I360:I369").Find(what:="KW 52", lookat:=xlPart, LookIn:=xlValues)
If finden Is Nothing Then
MsgBox "Nix gefunden; Wert nicht vorhanden oder falsche Suchparameter"
Else
MsgBox "Treffer in " & finden.Address
End If

Gruß Gerd
Anzeige
AW: formelwerte überprüfen
01.01.2025 18:34:40
BoskoBiati2
Hi,

ich denke, so wird ein Schuh draus:

Set finden = Range("I360:I369").Find(what:=52, lookat:=xlWhole, LookIn:=xlValues)


Gruß

Edgar
AW: formelwerte überprüfen
01.01.2025 18:54:02
Ironlucky
Danke für eure Hilfe, hatte da ein Brett vorm Kopf.

in der Zelle steht ja für excel ne unformatierte Zahl also musste meine Abfrage mit "KW 52" logischerweise Nothing ergeben. Hier mal mein Code der läuft wie er soll.

Private Sub Worksheet_Activate()

Dat = Evaluate("Datum")
Dim rngCell As Range
Dim strText As String
strText = "52"
For Each rngCell In Range("I359:I369")
If rngCell.Value = strText Then
Exit Sub
End If
Next rngCell


If Evaluate("Schreiben") = 0 Then
Worksheets("Vorlage (2)").Unprotect
Range("A5") = Dat
For z = 0 To 364
ndat = Dat + z
If Sonntag(ndat) Or Samstag(ndat) Or Feiertag(ndat) Then
Range(Cells(5 + z, 1), Cells(5 + z, 7)).Interior.ColorIndex = 6
Range(Cells(5 + z, 11), Cells(5 + z, 18)).Interior.ColorIndex = 6
End If
Next z
If Range("A5") = Dat Then
For x = 0 To 7
If Cells(5 + x, 8) = 7 Then
Cells(5 + x, 19).Select
If x = 6 Then
ActiveCell.FormulaR1C1 = "=SUM(R[-6]C[-1]:RC[-1])"
ElseIf x = 5 Then
ActiveCell.FormulaR1C1 = "=SUM(R[-5]C[-1]:RC[-1])"
ElseIf x = 4 Then
ActiveCell.FormulaR1C1 = "=SUM(R[-4]C[-1]:RC[-1])"
ElseIf x = 3 Then
ActiveCell.FormulaR1C1 = "=SUM(R[-3]C[-1]:RC[-1])"
ElseIf x = 2 Then
ActiveCell.FormulaR1C1 = "=SUM(R[-2]C[-1]:RC[-1])"
ElseIf x = 1 Then
ActiveCell.FormulaR1C1 = "=SUM(R[-1C[-1]:RC[-1])"
End If
Cells(5 + x, 10).Select
If x = 6 Then
ActiveCell.FormulaR1C1 = "=SUM(R[-6]C[-3]:RC[-3])/24"
ElseIf x = 5 Then
ActiveCell.FormulaR1C1 = "=SUM(R[-5]C[-3]:RC[-3])/24"
ElseIf x = 4 Then
ActiveCell.FormulaR1C1 = "=SUM(R[-4]C[-3]:RC[-3])/24"
ElseIf x = 3 Then
ActiveCell.FormulaR1C1 = "=SUM(R[-3]C[-3]:RC[-3])/24"
ElseIf x = 2 Then
ActiveCell.FormulaR1C1 = "=SUM(R[-2]C[-3]:RC[-3])/24"
ElseIf x = 1 Then
ActiveCell.FormulaR1C1 = "=SUM(R[-1C[-3]:RC[-3])/24"
End If
Exit For
End If
Next x
End If
l = 6 + x
s = 365 - x
For a = 0 To s
If Cells(l + a, 8) = 7 Then
Cells(l + a, 19).Select
ActiveCell.FormulaR1C1 = "=SUM(R[-6]C[-1]:RC[-1])"
Cells(l + a, 10).Select
ActiveCell.FormulaR1C1 = "=SUM(R[-6]C[-3]:RC[-3])/24"
End If
Next a
Worksheets("Einstell.").Unprotect
Evaluate("Schreiben") = 1
ActiveSheet.Cells(1, 8) = 1
Worksheets("Einstell.").Protect
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlUnlockedCells
End If
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlUnlockedCells
End Sub
Anzeige
AW: formelwerte überprüfen
01.01.2025 19:09:40
Uduuh
Hallo,
anstatt
                        If x = 6 Then

ActiveCell.FormulaR1C1 = "=SUM(R[-6]C[-1]:RC[-1])"
ElseIf x = 5 Then
ActiveCell.FormulaR1C1 = "=SUM(R[-5]C[-1]:RC[-1])"
ElseIf x = 4 Then
ActiveCell.FormulaR1C1 = "=SUM(R[-4]C[-1]:RC[-1])"
ElseIf x = 3 Then
ActiveCell.FormulaR1C1 = "=SUM(R[-3]C[-1]:RC[-1])"
ElseIf x = 2 Then
ActiveCell.FormulaR1C1 = "=SUM(R[-2]C[-1]:RC[-1])"
ElseIf x = 1 Then
ActiveCell.FormulaR1C1 = "=SUM(R[-1C[-1]:RC[-1])"
End If

Prinzipiell reicht
 ActiveCell.FormulaR1C1 = "=SUM(R[-" & x & "]C[-1]:RC[-1])"

Bei den anderen Formel dito.
Darüber hinaus ist Select/ Activate i.d.R. überflüssig und lässt sich durch korrekte Referenzierung ersetzen.

Gruß aus'm Pott
Udo
Anzeige
Moment!
01.01.2025 17:23:28
RPP63
Du schreibst von 3 Spalten:
A, H und I
Ohne Datei weiß ich nicht, was in Spalte I tatsächlich steht …
AW: formelwerte überprüfen
01.01.2025 18:17:46
Ironlucky
Danke wenn mann die Ganze zeit drauf schaut ....
War kurz mit den Hunden und habs anders gelöst:
Dim rngCell As Range

Dim strText As String
strText = "52"
For Each rngCell In Range("I359:I369")
If rngCell.Value = strText Then
Exit Sub
End If
Next rngCell


Danke für eure Mühe-
in der Zelle steht natürlich ein unformatierter wert nähmlich nur 52 angezeigt wird halt KW 52
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18