Ich habe ein Bild in Zelle (3,1) und möchte das Bild in Zelle (1,1) verschieben.
Ich habe diesen Code:
%Vor%Es scheint jedoch, dass der Zellenwert für Zellen, die Bilder enthalten, leer ist. Daher wird das Bild nicht verschoben und das Bild in Zelle (3,1) wird nicht gelöscht. Nichts passiert, wenn ich dieses spezielle Bit des Codes ausführe.
Jede Hilfe wird sehr geschätzt.
Danke.
Ein Teil des Problems mit Ihrem Code besteht darin, dass Sie sich das Bild als Wert der Zelle vorstellen. Obwohl das Bild in der Zelle erscheint, ist es jedoch nicht der Wert der Zelle.
Um das Bild zu verschieben, können Sie relativ (mit Shape.IncrementLeft
oder Shape.IncrementRight
) oder Sie können es tun absolut (indem Sie die Werte von% setzen co_de% und Shape.Left
).
Im folgenden Beispiel demonstriere ich, wie Sie die Form an eine neue absolute Position verschieben können, ohne die ursprüngliche Einrückung der ursprünglichen Zelle beizubehalten (wenn Sie die ursprüngliche Einrückung nicht beibehalten, ist dies so einfach wie das Einstellen der Shape.Top
und Top
Werte von Left
entsprechen denen des Ziels Shape
).
Bei dieser Prozedur wird ein Shape-Name verwendet (Sie können den Shape-Namen auf verschiedene Arten finden; so wie ich es gemacht habe, habe ich ein Makro aufgenommen und dann auf die Shape geklickt und sie verschoben, um den generierten Code zu sehen), die Zieladresse (z. B. Range
und (optional) ein boolescher Wert, der angibt, ob der ursprüngliche Einzug beibehalten werden soll.)
HINWEIS: Ich habe den Code sehr funktional geschrieben. Wenn Sie diesen Code "aufräumen" möchten, sollten Sie die Funktionalität in ein Objekt einfügen. Hoffentlich hilft es dem Leser zu verstehen, wie Formen in Excel funktionieren.