Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1416to1420
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
Bedingte formatierung mit VBA
27.03.2015 20:02:50
Walter
Hallo zusammen,
habe da ein Problem und weiß nicht mehr weiter.
Ich benutze bei der Arbeit eine Excel-Datei für die Auswertung unserer Abfülllinien.
Für jede Abfülllinie habe ich ein eigenes Arbeitsblatt mit jeweils 13 Spalten.
Für die Erfassung der Daten habe ich mir ein VBA-Formular zurechtgebastelt welches die Daten dann in das jeweilige Arbeitsblatt einträgt.
Die Spalten "I" und "K" beinhalten die vorgegebene Abfüll- bzw. Rüstzeit (in Industrie-zeit) des Auftrages.
In die Spalten "J" und "K" trage ich dann die tatsächlichen Zeiten ein.
Nun möchte ich das so einrichten das die tatsächlichen Zeitwerte je nachdem ob sie > die Schriftfarbe rot und für Ich habe es mit der bedingten Formatierung versucht das klappt aber nicht wirklich.
Wenn ich die Zelle der ersten Zeile bedingt formatiere und dann dieses Format mit "Format übertragen" auf die anderen Zellen der Spalte übertrage nimmt er mir immer den Zellwert der Ersten Zeile.
z.B. Regel Format Wird angewendet auf
Zellwert Zellwert > $I$2 Rote Schrift $J$2
Zellwert Zellwert > $I$2 Rote Schrift $J$3:$J$999
Kann mir jemand zeigen wie ich das mit VBA lösen kann?
Da die Datei 746 KB groß ist und der Upload auf 300 KB begrenzt ist hier der Aufbau der Tabellenblätter mit den relevanten Spalten:
Spalte I Spalte J Spalte K Spalte K
Zeile 1 Soll Abf.Z. Ist Abf.Z. Soll RüstZeit Ist RüstZeit
Zeile 2 0,82 1,33 0,50 0,58
Zeile 3 0,85 0,75 0,50 0,50
Hier der Code der UserForm:
Private Sub cmdAbbruch_Click()
'Schließt das Formular
Unload frmAbfüllung
End Sub
Private Sub cmdÜbernehmen_Click()
'Fügt die eigetragenen Werte in die Tabelle ein, schließt das Formular, kehrt zur  _
Formularauswahl zurück und Speichert die Datei.
Dim intErsteLeereZeile As Long
With ActiveSheet
intErsteLeereZeile = .Cells(Rows.Count, 2).End(xlUp).Row + 1
.Cells(intErsteLeereZeile, 2).Value = CDate(frmAbfüllung.txtDatum.Value)
.Cells(intErsteLeereZeile, 3).Value = frmAbfüllung.txtPANr.Value
.Cells(intErsteLeereZeile, 4).Value = frmAbfüllung.txtArtNr.Value
.Cells(intErsteLeereZeile, 7).Value = frmAbfüllung.txtStückZahl.Value
.Cells(intErsteLeereZeile, 10).Value = frmAbfüllung.txtAbfüllZeit.Value
.Cells(intErsteLeereZeile, 12).Value = frmAbfüllung.txtRüstZeit.Value
.Cells(intErsteLeereZeile, 13).Value = frmAbfüllung.txtMitarbeiter.Value
End With
Unload frmAbfüllung
Worksheets("Formular").Select
ActiveWorkbook.Save
End Sub
Private Sub ListBox1_Click()
'Erlaubt das auswählen des benötigten Blattes.
Worksheets(Me.ListBox1.Value).Select
Worksheets(Me.ListBox1.Value).Activate
End Sub
Private Sub UserForm_Activate()
'Listet alle Tabellenblätter auf und erlaubt das auswählen des benötigten Blattes.
Dim wks As Worksheet
Me.ListBox1.Clear
For Each wks In Worksheets
If wks.Name  "Formular" And wks.Name  "Handarbeit" And wks.Name  "Tabelle1" Then
Me.ListBox1.AddItem wks.Name
End If
Next wks
End Sub
Private Sub UserForm_Initialize()
'Lädt das aktuelle Datum ins Formular
frmAbfüllung.txtDatum.Value = Date
End Sub

Für konstruktive Vorschläge bin ich sehr dankbar.
Gruß
Walter

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Das ist nicht mit VBA erforderlich, da das auch...
27.03.2015 20:31:08
Luc:-?
…ganz einfach mit der BedingtFormatierung erfolgen kann, Walter!
Dass das bei dir nicht wie gewünscht fktioniert, liegt einfach nur daran, dass du das auch nicht wie für diesen Fall erforderlich machst. Du solltest mit Level Excel gut eigentlich den Unterschied zwischen Absolut- und Relativ­Adressierung kennen! Absolute Adressen passen sich nicht von Zeile zu Zeile bzw Spalte zu Spalte an das Gewünschte an, sondern beziehen sich stets, wie auch von dir festgestellt, auf dieselbe Zelle. Da hätte es bei dir eigentlich klingeln müssen, denn das ist bei Fmln der Bedingt­Formatierung auch nicht anders als bei ZellFmln, nur wird das ab Xl12/2007 nicht mehr in der RegelFml gezeigt, sondern intern ermittelt, aber eben nur bei Relativ­Adressie­rung → ohne $!
Gruß, Luc :-?
Besser informiert mit …

Anzeige
AW: Das ist nicht mit VBA erforderlich, da das auch...
27.03.2015 21:37:06
Walter
Hallo Luc,
vielen Dank, manchmal sieht man den Wald vor lauter Bäumen nicht.
Werde es am Mo gleich probieren.
Danke und schönes Wochenende.
Gruß
Walter

Dito schöWE, Walter! owT
28.03.2015 01:23:14
Luc:-?
:-?

327 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige