Spalten ändern in Makro

Hallo VBA-Experten,

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

Hallo Reinhard,

danke erstmal für Deine schnelle Antwort!

Also es rührt sich nichts !???

Wie soll ich es erklären ! Ausdruck ist schwer !

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 ?

MfG

Alex

Hallo Alex,

Also es rührt sich nichts !???

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 ?

Nein, dafür interessiert sich Vba nicht.

Gruß
Reinhard

Hallo Reinhard,

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 ?!

Danke Dir !

MfG
Alex

Hallo Alex,

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 !

so soll es ja wohl sein.

Aber nicht in den Zeilen darunter !

? Was gehts die Zeilen untendrunter an was du in Zeile 1 machst?

Gib in G2 und h2 Zahlen ein, dann kommt der Balken auch in I2 automatisch. Dies gilt für alle Zeilen.

Gehts nicht mit einem
anderen Befehl, quasi wenn sich der Inhalt von Spalte G und H
ändert ?

? Genau das macht doch das Makro?

So ändert es sich nur, wenn ich das Tabellenblatt
wechsel ?!

Kann nicht sein, das Makro wird nicht ausgelöst wenn du das Blatt wechselst.
Außer du hast andere Ereignismakros die auf Blattwechsel reagieren.

Gruß
Reinhard

Hallo Reinhard,

jetzt Fazit.

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 ?

MfG

Alex

Hallo Alex,

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.

Gruß
Reinhard

Hallo Reinhard,

jetzt ist es mir klar geworden. Bei manueller Eingabe startet das Makro auch. Nur wenn der Zellwert sich durch eine Formel ändert, nicht !

Schade, dann kann ich diese Funktion wohl nicht nutzen ! Weil sich die Werte in der überwachten Zelle täglich ändern (Summe von Stückzahlen) !

Danke für Deinen Geduldsfaden und deiner Hilfe !

MfG

Alex

Hallo Alex,

jetzt ist es mir klar geworden. Bei manueller Eingabe startet
das Makro auch. Nur wenn der Zellwert sich durch eine Formel
ändert, nicht !

jepp.

Schade, dann kann ich diese Funktion wohl nicht nutzen ! Weil
sich die Werte in der überwachten Zelle täglich ändern (Summe
von Stückzahlen) !

? Wenn in G1 steht =Summe(X10:X20) dann muß man halt X10:X20 „überwachen“. Wo ist das Problem?

Gruß
Reinhard

Hallo Reinhard,

erklären ist schwer !

Kann ich Dir nicht mal ne Mail mit der tabelle schicken ? Oder gibt es ne andere Möglichkeit es Dir zukommen zulassen ?

MfG

Alex

Hallo Alex,

erklären ist schwer !

ja, ist eine Kunst, ich kanns auch nicht gut.

Kann ich Dir nicht mal ne Mail mit der tabelle schicken ? Oder
gibt es ne andere Möglichkeit es Dir zukommen zulassen ?

lade es hoch mit FAQ:2606

Gruß
Reinhard

Morgen Reinhard,

hier der Link !

http://rapidshare.com/files/290561332/Vorlagen.rar.html

MfG

Alex

Dynamischer Anzeigebalken , Fortschrittsbalken

http://rapidshare.com/files/290561332/Vorlagen.rar.html

Hallo Alex,

dann mal den nachstehenden Code probieren, siehe auch

http://www.hostarea.de/server-10/Oktober-fff65a0668.xls

Die Anzeige in I2 verstehe ich nicht.

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

He, Hallo Reinhard,

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 !

Also Danke nochmal mal für die Hilfe !

LG

Alex