![]() |
Betrifft: Makro anpassen
von: Swen
Geschrieben am: 28.08.2014 17:15:49
Hallo an das Forum,
hier mein erster Beitrag, seid also bitte nachsichtig wenn auf Anhieb nicht alles richtig ist ;)
Hier zu meinem kleinen Problem, ich habe folgenden Beitrag im Excel Forum Archiv gefunden:
https://www.herber.de/forum/archiv/1232to1236/1235812_GanttDiagramm_per_Makro_anpassen.html
Durch eher bescheidene VBA Kenntnisse habe ich aber durch "rumprobieren" den target Bereich ändern können und meinen eigenen Bedürfnissen anpassen können, ich schaffe es aber nicht das Ganze so anzupassen, das es automatisch abläuft bzw auf Knopfdruck. Momentan ändert er die Farben nur bei Eingabe, das ganze Soll aber auf einmal passieren, kann mir wer helfen? Vielen Dank im Voraus
![]() ![]() |
Betrifft: AW: Makro anpassen
von: Hajo_Zi
Geschrieben am: 28.08.2014 17:17:41
ich würde vermuten in dem Link steht nicht Dein Code und da ist auch nicht Deine Datei verlinkt. Oder sehe ich das falsch?
![]() ![]() |
Betrifft: AW: Makro anpassen
von: Swen
Geschrieben am: 28.08.2014 17:20:27
Hajo, ich habe die Datei in dem Link einfach nur nach eigenen Bedürfnissen angepasst, d.h. ich habe diesen 1:1 übernommen und gerade mal den Range Bereich an meine Tabelle angepasst.
Gruss Swen, P.S. die eigentliche Datei kann ich nicht uploaden weil es hier um personelle Dinge geht. Danke wegen der Nachsicht
![]() ![]() |
Betrifft: AW: Makro anpassen
von: Hajo_Zi
Geschrieben am: 28.08.2014 17:22:45
Hallo Swen,
Gut dann habe ich es wohl falsch verstanden, Das Du Deinen Code angepasst haben möchtest. Ich kann Dir da leider nicht Helfen, was wohl daran liegt das ich ihn nicht sehe. Ich bin dann raus.
Gruß Hajo
![]() ![]() |
Betrifft: AW: Makro anpassen
von: Swen
Geschrieben am: 28.08.2014 17:26:11
Das sollte nicht das Problem sein:
Private Sub Worksheet_Change(ByVal Target As Range) 'untersuchter Bereich: Tabelle1!E4:E15 Dim z As Integer z = Target.Row Set Target = Intersect(Target, Range("E10:E21")) If (Not (Target Is Nothing)) Then Call Farbe_Aendern(z - 9) ' mit z wird der target bereich _ bestimmt, bei Zeile 43 ist z-43, erste zeile des target bereichs wird abgefragt End Sub
Sub Farbe_Aendern(z As Integer) ' Dim Farbe, i As Integer Dim Text As String Dim Texte, Farben As Variant Texte = Array("320011", "320028", "320050") Farben = Array(3, 45, 4) 'rot, orange, grün 'Farbe bestimmen Text = Cells(z + 9, 5) 'aktuellen Text auslesen For i = 0 To 2 If Texte(i) = Text Then Farbe = Farben(i) Next i 'Farbe für den aktuellen Datenpunkt einstellen ActiveSheet.ChartObjects("Diagramm 8").Activate ActiveChart.SeriesCollection(2).Points(z).Select Selection.Interior.ColorIndex = Farbe ActiveSheet.Cells(z + 9, 5).Select End Sub
![]() ![]() |
Betrifft: AW: Makro anpassen
von: schauan
Geschrieben am: 29.08.2014 20:51:29
Hallo Sven,
ich habe Deine Frage mal auf offen gesetzt - das ist neben dem Passwort das Kontrollkästchen. Wenn Hajo raus ist, antwortet Dir sonst vielleicht keiner mehr :-(
Hoffe geholfen zu haben, Grüße von André (schauan) aus Gera - Excel-97-2013
![]() ![]() |
Betrifft: AW: Makro anpassen
von: Gerold
Geschrieben am: 30.08.2014 17:34:46
Hallo Swen
Meinst du das vieleicht so?
Private Sub Worksheet_Change(ByVal Target As Range) 'untersuchter Bereich: Tabelle1!E4:E15 If Not Intersect(Target, Range("E10:E21")) Is Nothing Then Call Farbe_Aendern(Target) End Sub Sub Farbe_Aendern(ByVal Target As Range) Dim Farbe, i As Integer Dim Text As String Dim Texte, Farben As Variant Texte = Array("320011", "320028", "320050") Farben = Array(3, 45, 4) 'rot, orange, grün 'Farbe bestimmen Text = Target.Text 'aktuellen Text auslesen For i = 0 To 2 If Texte(i) = Text Then Farbe = Farben(i) Next i ' Farbe für den aktuellen Datenpunkt einstellen ActiveSheet.ChartObjects("Diagramm 8").Activate ActiveChart.SeriesCollection(2).Points(Target.Row - 9).Select Selection.Interior.ColorIndex = Farbe Target.Select End SubGruß Gerold
![]() |