Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Excel Meldung/Popup





Frage

Hallo, ich möchte Zellen und Schaltflächen eines Tabellenblattes hinsichtlich Ihrer Farbe durchsuchen und, wenn z.b. eine Zelle bzw. Schaltfläche rot eingefärbt ist, ein Popup bzw. eine Meldung genrieren...habt Ihr eine Idee wie....?! Danke schön im Voraus

Antwort 1 von Saarbauer

Hallo,

geht aus meiner Sicht nur mit VBA

Hier ein kleiner Anhalt

https://supportnet.de/threads/1132096

Gruß

Helmut

Antwort 2 von JoeKe

Moin Matthi,

für Zellen kannst du folgenden Code nutzen:

Option Explicit

Sub zelle_rot()
Dim zelle_rot As Range, i As Integer, strTemp As String
i = 0
For Each zelle_rot In Range("A1:F35")
If zelle_rot.Interior.ColorIndex = 3 Then
i = i + 1
strTemp = strTemp & zelle_rot.Address(False, False) & ", "
End If
Next
If strTemp = "" Then
MsgBox "Es wurden keine rotgefärbte Zelle gefunden."
ElseIf i = 1 Then
MsgBox strTemp & " ist rot!"
ElseIf i > 1 Then
MsgBox strTemp & " sind rot!"
End If
End Sub


In diesem Beispiel wird der Bereich A1:F35 nach roten Zellen durchsucht. Das Ergebnis wird in einer MsgBox ausgegeben.

Gruß

JöKe

Antwort 3 von JoeKe

Hallo Matthi,

hier der Code zum zweiten Teil deiner Frage:

Sub Schaltflächen_rot()
Dim I As Integer, strWert As String
I = 0
For I = 1 To ActiveSheet.OLEObjects.Count
If ActiveSheet.OLEObjects(I).Object.BackColor = 255 Then
strWert = strWert & ActiveSheet.OLEObjects(I).Name & ", "
End If
Next
If strWert = "" Then
MsgBox "Keine Schaltfläche ist rot!"
Else
MsgBox "Die Schaltfläche(n) " & strWert & " ist/sind rot!"
End If
End Sub



Gruß

JöKe

Antwort 4 von Matthi

Hallo JöKe,

prima....danke ! Geht das ganze auch für Autoformen,
Kreise...Rechtecke die mit einem Makro versehen sind ?

Nochmal Danke
Gruß

Antwort 5 von JoeKe

Moin Matthi,

ja so:

Option Explicit

Sub Schaltflächen_rot()
Dim I As Integer, strWert As String
I = 0
For I = 1 To ActiveSheet.Shapes.Count
If ActiveSheet.Shapes(I).Fill.ForeColor.SchemeColor = 10 Then
strWert = strWert & ActiveSheet.Shapes(I).Name & ", "
End If
Next
If strWert = "" Then
MsgBox "Keine Schaltfläche ist rot!"
Else
MsgBox "Die Schaltfläche(n) " & strWert & " ist/sind rot!"
End If
End Sub



Gruß

JöKe

Antwort 6 von Matthi

Hallo JöKe,

beim ausführen letzterer funktion bekomme ich einen

"Laufzeitfehler -2147024809(80070057) Der angegebene Wer liegt ausserhalb des gültigen Bereichs"
Debug-Verweis aus Zeile If ActiveSheet.Shapes(I).Fill.ForeColor.SchemeColor = 10 Then.
ich probiere und probiere bekomme den aber nicht weg.

Antwort 7 von JoeKe

Moin Matthi,

das kann ich leider so nicht nachvollziehen. Kannst du eventuell eine Beispieldatei hochladen? Z.B. bei netupload.

Gruß

Antwort 8 von Matthi

Hallo JöKe,

hier der entsprechende Link:
http://www.netupload.de/detail.php?img=d73c0a1daa54cc3a45140a9b1d755601.xls

ich habe deinen code mal in einer neuen tabelle probiert. läuft natürlich einwandfrei. mit meinem gefährlichen halbwissen kann ich nur spekulieren

Danke nochmal. Gruß

Antwort 9 von JoeKe

Moin Matti,

also in diener Beispieldatei kann ich, zumindest was meinen Code angeht, keinen Fehler finden.
Wenn ich das Makro "Rechteck158_BeiKlick" ausführe, wird mir in einer MassageBox angezeigt, dass die Schaltfläche Argon rot ist.

Gruß

JöKe

Antwort 10 von Matthi

Hallo Jöke

probiert und probiert...jetzt funzt es einwandfrei.
danke nochmal !

gruß

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: