2016-07-26 10 views
0

Hier ist ein Bild zu erklären, was ich brauche. 1Wie man alle ShapeRange-Sammlung in VBA zyklisch macht

ich harte Zeit habe herauszufinden, wie for each aShpRg in ActiveSheet Dinge zu tun .. wo aShpRg ist ein Shaperange-Objekt

Letztlich möchte ich die Ration von vielen Bildern innerhalb Kommentare sperren, damit sie nicht von Excel verzerrt beim Einfügen, Verschieben und Löschen von Spalten ...

Ihre Hilfe wird viel

Dieses geschätzt werden gibt mir Fehler:

Dim aShpRg As ShapeRange 
For Each aShpRg In ActiveSheet.ShapeRange 
aShpRg.LockAspectRatio = msoTrue 
Next aShpRg 
+0

Platziert Code in Codebeispiel, i = I –

+0

müssen Sie eine Schleife durch Arbeitsblatt 'comments' Sammlung und wirken auf jeden Kommentar' Shape' Eigenschaft - meine Antwort – user3598756

Antwort

0

bearbeitet: nach echter Bedarf

des OP Verständnis
Option Explicit 

Sub main() 
    Dim com As Comment 

    For Each com In ActiveSheet.Comments 
     com.Shape.Placement = xlFreeFloating 
    Next com 
End Sub 
+0

Ich sehe denke, das hat keine Wirkung, da es nur das Seitenverhältnis auf der Registerkarte "Größe" ändert, nicht das "Bildseitenverhältnis", wenn man tiefer in das Bild in einem Kommentar hineingeht. Ich komme zu der Schlussfolgerung, dass dies mit VBA unmöglich ist, da ich ein Makro dafür aufgezeichnet habe, und Excel weigert sich sogar, es erneut abzuspielen, was zu einem Fehler führt! –

+0

Versuchen Sie den bearbeiteten Code – user3598756

+0

versuchen Sie den bearbeiteten Code wieder jetzt – user3598756