568 Aufrufe
Gefragt in Windows 10 von

Hallo,

ich habe mehrer Tabellenblätter erstellt. In dem ersten Tabellenblatt ist so aufgebaut wie eine Art Übersicht mit meheren Spalten. Der Inhalt wird dann jeweil in das verknüpfte Tabellenblatt kopiert. Jetzt habe ich im ersten Blatt ein Steuerlement Button erstellt und ein Makro aufgezeichnet das den Druck das anderen Blattes übernimmt. Klappt auch super nur wenn ich von der Version 2010 auf 2013 wechsle geht das Makro nicht mehr.

Sub Makro1()
'
' Makro1 Makro
'

'
    Range("O7").Select
    Sheets("Lfd.1").Select = Hier steht immer der Fehler drin!!
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
    Sheets("Eingabe Einsatz").Select
End Sub

26 Antworten

0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo,

du musst nur das vorhandene Druckmakro in einem Modul ersetzen (siehe auch Link aus Antwort 1).

Gruß

M.O.
0 Punkte
Beantwortet von
0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo,

achte darauf, dass die Makro verschiedene Namen haben. Schau mal nach ob es bereits ein Makro mit dem Namen Lfd_1 gibt bzw. nenne das Makro um, z.B. drucken_Lfd_1.

Gruß

M.O.
0 Punkte
Beantwortet von
Hallo,

habe jetzt die Makro so angepasst klappt bis jetzt super.

Wenn ich jetzt das Blatt schütze und speichere und dann auf einen andere PC kopiere mit einer höheren Version 2013 dann muß es ja jetzt klappen ohne das wieder die Fehlermeldung kommt oder?

Gruß

Markus
0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo Markus,

wenn es bei deiner Testtabelle funktioniert, sollte es auch sonst - auch bei höheren Versionen - klappen.

Gruß

M.O.
0 Punkte
Beantwortet von
Sind die Makros auch bei Freigabe des Arbeitsblattes noch da bzw auch wenn man es auf der Dropbox speichert?

Weißt du das zufaällig?
0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)

Hallo Markus,

die Makros werden in der Excel-Datei mit gespeichert - sofern du die Arbeitsmappe als Arbeitsmappe mit Makros - speicherst.

Wenn du die Arbeitsmappe aber an andere verteilst, funktionieren die Makros nur, wenn dies in Excel zugelassen ist (ab Excel 2010). Standardmäßig sind Makros so viel ich weiß deaktiviert. Die einzelnen Nutzer müssen die Ausführung von Makros zulassen  Wie das funktioniert kannst du z.B. hier nachlesen: Ändern der Makrosicherheit in Excel

Gruß

M.O.

0 Punkte
Beantwortet von
Hallo M.O.,

danke nochmals für deine Hilfe klappt perfekt mit dem Makro.

Hast du vielleicht noch eine Idee wie ich dieser Arbeitsmappe einen bestimmten Drucker zuweisen kann?

Windows nimmt ja immer den am meist genutzten Drucker da wir hier aber mehrer haben sollte nur ein bestimmter Drucker für das Arbeitsblatt genommen werden.

Gruß

Markus
0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)

Hallo Markus,

du kannst den Drucker wie folgt festlegen:

'Drucker festlegen
Application.ActivePrinter = "Drucker auf Ne05:"

Hier musst du den Namen den Druckers eintragen, den du ansprechen willst. Den kannst du entweder über die Hardware-Eigenschaften des Druckers ermitteln (Verwalten - Hardwareeigenschaften - Reiter "Allgemein") oder du zeichnest einfach ein Makro auf, in dem du den Drucker auswählst (vorher muss natürlich ein anderer Drucker ausgewählt worden sein) und eine Seite druckst.

Das Drucken-Makro musst du dann entsprechend ergänzen:

Sub drucken()
Dim bversteckt As Boolean

'Bildschirmaktualisierung ausschalten:
Application.ScreenUpdating = False

With Worksheets("Lfd.1")
   'Prüfen, ob Arbeitsblatt ausgeblendet
   If .Visible = False Then
     bversteckt = True        'Marker für wieder ausblenden setzen
     .Visible = True        'Blatt einblenden
   End If
   'Drucker festlegen
   Application.ActivePrinter = "Drucker auf Ne05:"    

   'Blatt ausdrucken
   .PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
 
   'ggf. wieder ausblenden
   If bversteckt = True Then .Visible = False
 
End With
 
'Bildschirmaktualisierung einschalten:
Application.ScreenUpdating = True

End Sub

Gruß

M.O.

0 Punkte
Beantwortet von
Hy,

wenn ich es jetzt einfüge geht es wieder nicht kommt wieder der Laufzeitfehler

Sub drucken()
Dim bversteckt As Boolean

'Bildschirmaktualisierung ausschalten:
Application.ScreenUpdating = False

With Worksheets("Lfd.1")
   'Prüfen, ob Arbeitsblatt ausgeblendet
   If .Visible = False Then
     bversteckt = True        'Marker für wieder ausblenden setzen
     .Visible = True        'Blatt einblenden
   End If
   
   'Drucker festlegen
   Application.ActivePrinter = "Kyocera Mita FS-1920:"
   

   'Blatt ausdrucken
   .PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
 
   'ggf. wieder ausblenden
   If bversteckt = True Then .Visible = False
 
End With
 
'Bildschirmaktualisierung einschalten:
Application.ScreenUpdating = True

End Sub
...