habe hier ein Makro im Internet gefunden, was ich in meiner Exceltabelle gut gebrauchen könnte.
Leider habe ich es schon versucht an meine Spalten anzupassen, aber es gelingt mir nicht ! Sehe da nicht durch !
Hier im Makro wird die Spalte A,B und C (1,2 & 3) genutzt, brauche aber bei mir die Spalten G,H und I (7,8 & 9) ! Trotz ändern der Zahlen im Makro geht es nicht ! Was mache ich falsch ? Was muß ich noch ändern !
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column
Hier im Makro wird die Spalte A,B und C (1,2 & 3) genutzt,
brauche aber bei mir die Spalten G,H und I (7,8 & 9) ! Trotz
ändern der Zahlen im Makro geht es nicht ! Was mache ich
falsch ? Was muß ich noch ändern !
Hallo Alex,
den Statusbalken unten sprichst du mit dem Makro nicht an.
Das geht über Statusbar.
Das Makro nur umgeschrieben sehe so aus:
Private Sub Worksheet\_Change(ByVal Target As Range)
Dim FuellPunkte
If Target.Column \>= 7 And Target.Column
Gruß
Reinhard
Habe in jeder Zelle der Spalte G und der Spalte H einen Wert. Daraus soll in jeder Zelle der Spalte I dieser Balken errechnet bzw. farblich dargestellt werden.
Beispiel
G5 = 100
H5 = 80
ergibt ein Prozentwert 80%, also Zelle I5 zu 80% ausgefüllt.
Funktoniert mein Excel nicht richtig ?
Habe automatisch berechnen in Excel ausgeschaltet ! Kann aber daran nicht liegen oder ?
Alt+F11, im VB-Editor machst du einen Doppelklick links in der Liste auf den Blattnamen.
Dorthinein kopierst du den Code:
Private Sub Worksheet\_Change(ByVal Target As Range)
Dim Pos As Integer
If Target.Cells.Count 1 Then Exit Sub
If Cells(Target.Row, 7) = "" Or Cells(Target.Row, 8) = "" Then Exit Sub
If Target.Column = 7 Or Target.Column = 8 Then
Pos = Int(10 \* Cells(Target.Row, 8) / Cells(Target.Row, 7))
Application.EnableEvents = False
With Cells(Target.Row, 9)
.Value = String(10, ChrW(9608)) 'Balken
.Characters(Start:=1, Length:=Pos).Font.ColorIndex = 5
.Characters(Start:=Pos + 1, Length:=10 - Pos).Font.ColorIndex = 6
End With
Columns(9).AutoFit
Application.EnableEvents = True
End If
End Sub
Funktoniert mein Excel nicht richtig ?
Möglich, gelegentlich liegt es an dem was zwischen Stuhl und Bildschirm sitzt *grins*
Habe automatisch berechnen in Excel ausgeschaltet ! Kann aber
daran nicht liegen oder ?
jetzt funktioniert es ! Zum Teil ! Die Zeile1 war leer ! Dann habe ich mal Zahlen in G1 & H1 geschrieben, siehe da, es erscheint der Balken in I1 !
Aber nicht in den Zeilen darunter ! Gehts nicht mit einem anderen Befehl, quasi wenn sich der Inhalt von Spalte G und H ändert ? So ändert es sich nur, wenn ich das Tabellenblatt wechsel ?!
In den Spalten G & H hatte ich Formel drin, dann reagierte das Makro nicht. Habe dann mal die Formeln in andere Zelle gepackt und in die Spalten G & H einfach =Spalte/Zelle verknüpft. Siehe da es waren die Balken da ! Super !
Nur eins geht nicht, sobald sich der Wert ändert in der Spalte G oder H dann ändert sich der Balken nicht ! Paßt sich nicht an die neuen Zahlen an. Muß ich die Verknüpfung ändern ! Formelergebnis in Zelle xy ausgeben ! (Index?)
Gibt es sowas ?
In den Spalten G & H hatte ich Formel drin, dann reagierte das
Makro nicht.
Kann es auch nicht. Das von mir benutzte Change-Ereignis regiert nur auf manuelle Zellwertänderung.
Angenommen du hast in A1 eine Formel stehen
=B1/2
Dann muß man nicht mit mit dem Change-Erignis A1 überwachen sondern B1.
Und wenn in B1 auch eine Formel steht dann die dort angesprochenen Zellen.
Usw., bis man die Zellen überwacht wo manuell etwas eingegeben wird.
Mein Code überwacht nun G und H. Wie geschildert sage mal welche Formeln in G und H stehen usw.
Habe dann mal die Formeln in andere Zelle gepackt
und in die Spalten G & H einfach =Spalte/Zelle verknüpft.
Siehe da es waren die Balken da ! Super !
K.A. was mit „=Spalte/Zeile“ gemeint ist, aber wie oben gesagt ist das eine manuelle Änderung von G/H, also reagiert mein Code wie er soll.
Wenn in G7 und H7 je 3,33 angezeigt wird, so zeigt I7 aber nicht 100%.
Mit H7 3,34 klappts.
Überprüfe da mal die nicht angezeigten Kommastellen.
Gruß
Reinhard
Private Sub Worksheet\_Change(ByVal Target As Range)
Dim Pos As Integer, Zei As Long, T As Range
Application.EnableEvents = False
For Each T In Target
Zei = T.Row
If Cells(Zei, 7) "" And Cells(Zei, 8) "" Then
Pos = Int(10 \* Cells(Zei, 8) / Cells(Zei, 7))
With Cells(Zei, 9)
.Value = String(10, ChrW(9608)) 'Balken
.Characters(Start:=1, Length:=Pos).Font.ColorIndex = 5
.Characters(Start:=Pos + 1, Length:=10 - Pos).Font.ColorIndex = 6
End With
End If
Next T
'Columns(9).AutoFit
Application.EnableEvents = True
End Sub
super es funktioniert ! Jetzt muß ich mir mal den Code genauer anschauen ! Will es ja auch mal versuchen selbstständig einen Code zuschreiben ! Das sieht bei Euch Experten immer so einfach aus !
Du meinst die Anzeige in I2 sieht komisch aus ! Ja das lag daran, die Spalte I war mal mit bei der Datumsanzeige eingegliedert, und das Datum war ja vertikal eingestellt. Excel hat versucht, die Balken auch vertikal in die Zelle zu würgen !