2017-07-10 2 views
3

Gibt es eine Möglichkeit, Bild von Arbeitsblatt zu Benutzerbildsteuerung zu kopieren?
Ich habe eine Form auf einem Arbeitsblatt mit Bild. Und wenn ich wählen -> kopieren (Strg + C) diese Form, gehen Sie zu der UserForm1 Design ->image1 Eigenschaften Ich kann Strg + V in der Bildeigenschaft von image1 tun und das Bild wird aus der Zwischenablage in image1 Steuerelement eingefügt.
Wie kann ich dies mithilfe von VBA in Laufzeit erreichen?
versuchte ich UserForm1.Image1.Picture = ActiveSheet.Shapes("Picture 1").Picture Und viele ähnliche bot keiner von ihnen arbeiten
ich in der Regel „Objekt diese Eigenschaft oder diese Methode nicht unterstützt“ oder „Konflikt“ TypenVBA Kopiere Bild von Arbeitsblatt zu Benutzerformular

+0

Wenn Sie ein ActiveX-Bild-Steuerelement auf dem Arbeitsblatt verwenden, Sie können das Bild direkt dem Formular zuordnen. Für andere Bilder suchen Sie nach Stephen Bullen PastePicture Code. – Rory

Antwort

1

Vor einiger Zeit für eine Lösung von ich suchte Dasselbe Problem. Ich habe keine Lösung gefunden, aber ich fand einen großen Workaround:

  1. Machen Sie ein separates Formular mit vielen Bildern darin. Nennen Sie es user_form_pics.

  2. Dann wird die folgende auf dem Formular aufrufen:

Me.Image1.Picture = user_form_pics.img_name11.Picture

Dies ist, wie es im Konstruktor zu verwenden:

Private Sub UserForm_Initialize() 
    Me.Image1.Picture = user_form_pics.img_name11.Picture 
End Sub 

Es funktioniert! Jetzt ist Ihre Form das Bild der user_form_pics.img_name11

bearbeiten hat: Wenn Sie benötigen Chart Bild zu speichern, das Verfahren ist folgendes:

Option Explicit 

Public Sub TestMe() 

    Dim chtChart As Chart 
    Dim strPath  As String 

    Set chtChart = ActiveSheet.ChartObjects(1).Chart 
    strPath = ThisWorkbook.Path & "\myChart.bmp" 

    chtChart.Export (strPath) 

    UserForm1.Show vbModeless 
    UserForm1.Image1.Picture = LoadPicture(strPath) 

End Sub 
+0

Danke Jungs, aber ich habe vergessen zu erwähnen. Ich habe kein Problem beim Kopieren von ActiveX-Steuerelement oder von anderen Bildkontrolle auf Benutzerformular. Das Problem ist, dass Bild, das ich kopieren möchte, eine Form ist. Es wird erstellt, indem Sie Diagramm kopieren und in Arbeitsblatt einfügen. Ich habe den Namen und alles andere. Ich kann diese Form auswählen und so weiter. Ich kann einfach kein Bild davon kopieren und in die 'UserForm.Image.Picture'-Eigenschaft einfügen – Sphinx

+0

@Sphinx - in diesem Fall sollten Sie das Bild des Diagramms als BMP im selben Ordner wie die Excel-Anwendung speichern. Beziehen Sie sich dann darauf und verwenden Sie seinen Pfad und seinen Namen. Oder zumindest war das etwas, was ich früher gemacht habe ... – Vityata

+0

@Sphinx - siehe die bearbeitete Antwort, um zu verstehen, was ich meine :) – Vityata

Verwandte Themen