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

Form automatisch rot formatieren

Form automatisch rot formatieren
01.07.2019 14:29:06
Leon.DerProf
Gibt es eine Möglichkeit, wenn sobald in eine Zelle etwas eingetragen wurde, also wenn sie nicht leer ist, dass in diesem Moment sich automatisch eine Form anders färbt?

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Ja die gibt es - o.w.T.
01.07.2019 14:46:33
Beverly


AW: Ja die gibt es - o.w.T.
01.07.2019 16:10:23
Leon.DerProf
Ich habe in das Tabellenblatt folgendes reingelegt
Private Sub Worksheet_Calculate()
FarbeZeit
End Sub
Und dann in Modul1
Sub FarbeZeit()
Dim x As Integer
Dim festNr As Long
x = -1
Do
x = x + 1
If Range("Tabelle2[Vorbedingung]").Range("A1").Offset(x, 0)  "" Then
festNr = Range("Tabelle2[Nr.]").Range("A1").Offset(x, 0).Value
With Tabelle1.Shapes("Zeit " & festNr).Fill
.ForeColor.RGB = RGB(255, 0, 0)
End With
End If
Loop Until x > 300
End Sub
Jedoch wird die Form nicht sofort farblich markiert, sondern erst wenn ich ein Zeile irgendwo hinzufüge oder so.
Kannst du mir da weiterhelfen?
Anzeige
Also ich würde...
01.07.2019 17:58:10
Beverly
Hi Leon (dies ist die Anrede in einem Beitrag),
(jetzt folgt der Beitragstex)
... nach folgendem Prinzip lösen:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells(1).Address(False, False) = "A5" Then
If Target.Cells(1)  "" Then
ActiveSheet.Shapes("Rechteck 1").Fill.ForeColor.RGB = RGB(255, 0, 0)
Else
ActiveSheet.Shapes("Rechteck 1").Fill.Visible = msoFalse
End If
End If
End Sub

(und nach dem Beitragstext folgt ein Gruß mit Namen)


so eine Frage bei "Excel gut".........
01.07.2019 15:07:58
robert
AW: so eine Frage bei "Excel gut".........
01.07.2019 15:31:54
Leon.DerProf
Dann zeig mir mal eine Möglichkeit OHNE VBA wie man eine FORM! bedingt formatieren kann!!!
Anzeige
mal (m)eine Variante ...
01.07.2019 16:34:30
Matthias
Hallo
Du kannst Folgendes probieren,
schreib z.B. für C19 eine bedingte Formatierung, die sich auf z.B. A1 bezieht
Änderst Du in A1 auf nicht leer färbst Du die Zelle z.B. grün.
Markiere die Zelle C19 und mach mit der ExcelKamera ein ZellFoto und füge die erstellt Grafik
dort ein wo Du sie brauchst.
Immer wenn jetzt A1 einen Inhalt hat wird die Grafik grün (da es ein Zellfoto von C19 ist)
C19 darf allerdings nicht ausgeblendet sein.
C19 würde ich dann so formatieren: ;;; um keinen möglichen Zellinhalt anzuzeigen.
Gruß Matthias
AW: mal (m)eine Variante ...
01.07.2019 16:56:50
Leon.DerProf
Nun das ist leider nicht zielführend. Eine interessante Möglichkeit hast du dir hingebastelt, aber leider ist sie kein Ersatz für eine Form.
Es fängt schon damit an, dass die Kameraaufnahme keine Pfeilform, geschweige kompliziertere Formen, annehmen kann. Die Bildaufnahme sieht auch nicht so "clean" aus wie die Formen.
Aber danke für deine Mühe Matthias und du hast meine Bewunderung für deine Freude an Herausforderungen.
Kurzum, mit Excel allein kann man keine bedingte Formatierung für Formen erstellen. Ihr könnt gerne im Netz oder in Büchern suchen, aber sowas gibt es nicht. Also schon mal Danke für Nichts an Robert.
Jedoch, falls sich der ein oder andere dennoch dafür interessiert, wie man es mit VBA programmieren kann, hier ist meine Lösung und diese Lösung ist sogar ganz ohne sinnlose Kommentare, "Dank" geht nochmal an Robert.
Ihr must in das Editor-Fenster der Tabelle folgendes hinzufügen.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim y As Integer
y = -1
Do
y = y + 1
If Range("Tabelle2[Vorbedingung]").Range("A1").Offset(y, 0)  "" Then
FarbeZeit
End If
Loop Until y > 400
End Sub
Weil das ganze Tabellenblatt-übergreifend gehen soll, macht ihr in z.B. Modul1 folgendes rein.
Sub FarbeZeit()
Dim x As Integer
Dim festNr As Long
On Error GoTo Vorbei
x = -1
Do
x = x + 1
If Range("Tabelle2[Vorbedingung]").Range("A1").Offset(x, 0)  "" Then
festNr = Range("Tabelle2[Nr.]").Range("A1").Offset(x, 0).Value
With Tabelle1.Shapes("Zeit " & festNr).Fill
.ForeColor.RGB = RGB(255, 0, 0)
End With
End If
Loop Until x > 300
Vorbei:
End Sub

Anzeige
2 gleisige Darstellung ...
01.07.2019 19:15:05
Matthias
Hallo
Eine interessante Möglichkeit hast du dir hingebastelt
Nee, die hab ich Dir hingebastelt. Weil Du kein VBA wolltest!
Ich mach sowas eh mit VBA.
Hättest doch gleich schreiben können was Du brauchst.
Gruß Matthias
AW: mal (m)eine Variante ...
01.07.2019 20:01:43
Werni
Hallo Professor
Das musst du uns nicht erklären wie das gehen könnte. Das wissen wir schon.
Aber deine Art, Fragen ohne ein Hallo und auch kein MfG bekommt die Freundlichkeit zurück.
Gruss Werni

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige