Microsoft Excel

Herbers Excel/VBA-Archiv

Shape nach Zellenwert ausrichten

Betrifft: Shape nach Zellenwert ausrichten von: Thomas
Geschrieben am: 05.10.2020 10:16:40

Guten Tag,

ich habe in einem Terminplan ein Shape, welches ich gerne nach Zelle D32 ausrichten lassen würde... (siehe Anhang)
Sprich wenn ich in D 32 den 02.01.2020 eingebe, soll das Shape zu diesem Datum rutschen. Über VBA bekomme ich die Line schon geschoben, aber halt nicht automatisch.

Hat jemand eine Idee, wie so etwas umzusetzen ist ?

Beispieldatei: https://www.herber.de/bbs/user/140654.xlsm

Betrifft: AW: Shape nach Zellenwert ausrichten
von: Daniel
Geschrieben am: 05.10.2020 10:30:38

Hi
um mit VBA etwas "automatisch" geschehen zu lassen, brauchst du sog. Event_Makros.
diese werden automatisch gestartet, wenn du bestimmte Aktionen ausführst (z.B. einen Zellwert änderst)

Die Eventmakros zu einem Tabellenblatt siehst du, wenn du in der linken Combobox über dem Codefenster "Worksheet" auswählst und dann die rechte Combobox aufklickst.

erstelle das das Change-Event und platziere so die Shapes neu, wenn du die Zelle in D32 änderst.

hier der Code für dein Beispiel:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Zelle As Range
Set Zelle = Range("C3") 'Kalenderstart
If Target.Address(0, 0) = "D32" Then
    Set Zelle = Zelle.Offset(0, Target.Value - Zelle.Value)
    ActiveSheet.Shapes("Textfeld 3").Left = Zelle.Left
    ActiveSheet.Shapes("Gerader Verbinder 2").Left = Zelle.Offset(0, 1).Left
End If
End Sub

bei der Kalenderleiste gehe ich davon aus, dass dieser lückenlos und aufsteigend sortiert ist.
dann muss man das Zieldatum nicht suchen, sondern kann die Position berechnen.
Gruß Daniel

Betrifft: AW: Shape nach Zellenwert ausrichten
von: Thomas
Geschrieben am: 05.10.2020 15:18:09

Danke schön funktioniert super...

Jetzt kommt natürlich die weiterführende Frage. Wenn ich jetzt c3 aus Zelle d37 füllen würde,

quasie einen Zeitstrahl von 4 Wochen, dessen Beginn in d37 definiert wird, machen würde (C3 =D37 und D3=C3+1 usw.), und ich in D37 den Wert ändere, dass Shape auch an den richtigen Platz verschoben wird... und nicht nur mit der Änderung in D32

Betrifft: AW: Shape nach Zellenwert ausrichten
von: Daniel
Geschrieben am: 05.10.2020 16:43:44

Hi
wenn der shape verschoben werden muss, wenn D32 oder wenn D37 geändert wird, dann kann man das auch übrprüfen.
dazu gibt's mehrere Möglichkeiten:
if Target.address(0, 0) = "D32" or Target.address(0, 0) = "D37" then
oder
If not intersect(Target, range("D32,D37")) is Nothing then
allerdings sollte man dann überprüfen, ob das Datum aus D32 noch im Bereich des kalernders liegt und was zu tun ist wenn nicht.

Gruß Daniel

Betrifft: AW: Shape nach Zellenwert ausrichten
von: Thomas
Geschrieben am: 06.10.2020 13:44:19

Ein Traum... Danke vielmals

Betrifft: AW: Shape nach Zellenwert ausrichten
von: Thomas
Geschrieben am: 07.10.2020 07:21:46

Ähm... habe festgestellt funktioniert doch nicht so wie gewollt.

Gegeben: In D37 = 1.1.2020 (start Zeitstrahl)

Wenn ich in D37 den Wert ändere springt das Shape dahin wo es soll bei spiel (1.3.2020), so weit so gut.

Wenn ich aber den in D37 den Beginn des Zeitstrahls auf den 1.2.2020 ändere, springt das Shape zum 1.2.2020.... es soll aber bei der Zelle mit dem 1.3.2020 bleiben, quasie nur nach links bis wieder zum 1.3.2020 springen... geht das irgendwie ??

Betrifft: AW: Shape nach Zellenwert ausrichten
von: Daniel
Geschrieben am: 07.10.2020 09:19:45

wie soll ich dir sagen, was du falsch gemacht hast, wenn du mir nicht vorher sagst, was du gemacht hast?
wenns nicht so funktioniert wie es soll, dann ist es immer am besten, wenn du die Datei hochläst oder zumindest mal den Code zeigst den du verwendest.

auch wenn viele Fragesteller in fast allen Foren dem Glauben haben, dass Excelwissen immer gleichzeitig mit der Fähigkeit zum Hellsehen verbunden ist, so stimmt das leider nicht.

Gruß Daniel

Betrifft: AW: Shape nach Zellenwert ausrichten
von: Thomas
Geschrieben am: 07.10.2020 09:23:18

Hab auch gesehen, dass das irgendwie zerissen wurde...

hier ist der Archiv Thread

https://www.herber.de/forum/archiv/1784to1788/t1785579.htm

Betrifft: AW: Shape nach Zellenwert ausrichten
von: Daniel
Geschrieben am: 07.10.2020 18:27:51

und du bist dir sicher, das die dort vorhandene Beispieldatei schon meinen Lösungsvorschlag bzw deine Umsetzung dieses Vorschlags enthält?

Betrifft: AW: Shape nach Zellenwert ausrichten
von: Thomas
Geschrieben am: 08.10.2020 07:30:49

Ähm... jetzt ja...

https://www.herber.de/bbs/user/140721.xlsm