2017-10-27 4 views
-1

Ich habe ein Blatt mit einem Makro, das, wenn ich einen Wert in der Zelle E5 ändern, bestimmte Felder in Blatt1 automatisch füllt, sucht und Werte aus einer Tabelle auf anderen Blatt zurückgibt - BlatTable).Excel-Makro zum Drucken von Blättern basierend auf mehreren Werten

Mein Ziel ist es nun eine Reihe von Werten in einer Spalte auf sheetTable und weisen jeweils einen von ihnen wählen E5 to Cell auf sheet1 und jedes zu drucken.

Also lassen Sie uns sagen, dass ich wählen 3-Zellen mit den Werten: 45, 50 und 66. Wenn ich das Makro ausführen wird es 45 zuweisen E5 und Druck Zelle sheet1, dann wird es 50 zuweisen E5 und Druck sheet1 zur Zelle und schließlich zuweisen 66 Zelle E5 und drucken sheet1.

Private Sub Worksheet_Change(ByVal Target As Range) 
Dim KeyCells As Range 
Dim shape As Excel.shape 
' The variable KeyCells contains the cells that will 
' cause an alert when they are changed. 
Set KeyCells = Range("e5") 


If Not Application.Intersect(KeyCells, Range(Target.Address)) _ 
     Is Nothing Then 


For Each shape In ActiveSheet.Shapes 
    shape.Delete 
Next 

InsertPictureInRange Range("f2").Value & Range("e5").Value & ".jpg", _ 
    Range("c9") 
InsertPictureInRange Range("f2").Value & Range("e5").Value & "_1.jpg", _ 
    Range("i9") 

If Range("e5").Value = "" Then Exit Sub 

End If 

End Sub 

Antwort

1

Im Folgenden wird eine Auswahl ausführen und die Werte in der Zelle E5 einzufügen, auf Sheet1, und öffnen Sie dann die „PrintToFile“ Dialogfeld. Von dort aus müssten Sie den Speicherort und den Namen der Datei manuell eingeben.

Dim Rng As Range 
Set Rng = Selection 

Dim Sheet1 As Worksheet 
Set Sheet1 = Sheets("Sheet1") 

    For Each Cell In Rng 
     Sheet1.Range("e5").Value = Cell.Value 
     Sheet1.PrintOut Copies:=1, printtofile:=True, collate:=True, ignoreprintareas:=False 
    Next Cell 

Das bringt Sie zumindest zur Hälfte. Vielleicht kann jemand mit mehr Erfahrung als ich hinzufügen, wie man den Speicherort und den Namen der Datei über VBA eingibt.

+0

Vielen Dank für Ihre Hilfe. Es half ein bisschen, aber funktioniert nicht. Dies funktioniert nur im selben Blatt. Was ich brauche, ist einen Bereich auf einem anderen Blatt (das Blatt mit dem Tisch) auszuwählen. Außerdem benötige ich den Code zum Ausdrucken des Blattes1 und Benennen der PDF-Datei mit dem Wert des Wertes in E5. Also, wenn ich 3 Zellen auf dem Tischblatt mit den Werten 34,44 und 55 wähle. Es werden folgende Dateien erstellt: 34.pdf, 44.pdf und 55.pdf –

+0

Ah, ich verstehe. Danke für das Aufklären. Ich bin mir nicht sicher, ob es eine Möglichkeit gibt, eine PDF-Datei außerhalb von "SendKeys" zu speichern, was ich vermeide. Ich werde meine Antwort aktualisieren, um zu zeigen, wie Sie für jeden Wert einen Druckdialog öffnen würden. Von dort müssen Sie den Speicherort und den Namen des Blattes manuell eingeben. Keine vollständige Antwort, ich weiß. Ich werde weiterhin nach Möglichkeiten zum Speichern einer PDF-Datei in einer Datei aus Excel suchen. –

Verwandte Themen