Linie (mit Name) im Excel erst./verschieben/lösch.
06.03.2019 14:34:58
Ronald
Ich habe eine Kalenderübersicht im Excel, in der ich sehen kann, wer an welchem Tag
bzw. in welcher Kalenderwoche mit welchem Projekt betraut ist und möchte nun am
aktuellen Tag passend eine rote Linie anzeigen lassen, damit ich auf einen Blick
sehe, wo ich gerade bin. Dies funktioniert soweit über die AddLine-Funktion und
sieht dann so aus:
Sub PlotLines()
Set rngZelleOben = Range(strHeutigesDatumSpalte2 & "5")
Set rngZelleUnten = Range(strHeutigesDatumSpalte2 & "43")
With myDocument.Shapes.AddLine(rngZelleOben.Left, rngZelleOben.Top, rngZelleUnten.Left, _
rngZelleUnten.Top).Line
.DashStyle = msoLineSolid
.Weight = 2
.ForeColor.RGB = RGB(255, 0, 0)
End With
End Sub
Nun ist es aber so, daß ich jetzt, wenn ich das Excel einen Tag später öffne, die
Linie an einer anderen Stelle sehen möchte. Das Einfachste wäre, die bestehende
Linie bei Start zu löschen und dann neu an der richtigen Stelle zu erstellen.
Die Alternative wäre, die bestehende Linie einfach zu verschieben.
Beides scheitert jedoch daran, daß ich diese Linie nicht wie ein normales Steuer-
element ansprechen kann, wie zum Beispiel so.
Nun ist meine Frage, wie ich bei der Erstellung des Shapes einen eindeutigen Namen
vergeben kann, den ich während der Laufzeit im Quellcode ansprechen kann, um
beispielsweise das Shape zu verschieben oder zu löschen. Natürlich sollte dieser
Name das Speichern und Neuladen der Exceldatei überstehen können und dann immer
noch funktionieren.
Wäre schön, wenn mir hierbei jemand helfen könnte. Das ganze soll dann noch auf
dem Excel des Office 365 funktinieren.
Vielen Dank im Voraus.
Gruß Ronald