Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1480to1484
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zoom bei Kopie gleich = 88%

Zoom bei Kopie gleich = 88%
16.03.2016 10:45:41
chris58
Hallo !
Ich habe dieses Makro gefunden und will fragen, ob man, da es ja alle Formatierungen des eingelesenen Balttes mitübernimmt, auch die Zoomeinstellung, die bei 88% liegt, mitübernehmen kann ?
Danke für Eure Antwort
chris
Private Sub CommandButton1_Click()
Dim WBZiel As Workbook, ExportDatei As Variant
Dim WBQuelle As Workbook, WSZiel As Worksheet
Set WBZiel = ThisWorkbook
'DateiÖffnen Dialog anbieten
ExportDatei = Application.GetOpenFilename("Micrsoft Excel-Dateien (*.xls),*.xls", , "Bitte  _
die Datei xyz.xls öffnen ...")
ExportDatei = CStr(ExportDatei)
If ExportDatei = "Falsch" Then Exit Sub
'öffnen der ausgewählten Datei
Set WBQuelle = Workbooks.Open(ExportDatei)
'Kopieren der Tabelle „Tabelle1“ aus Datei „xyz“
Set WSZiel = WBZiel.Worksheets.Add(After:=WBZiel.Sheets(WBZiel.Sheets.Count))
WBQuelle.Worksheets("Report").Cells.Copy WSZiel.Cells(1)
WSZiel.Name = "Report " & WBQuelle.Name
WBQuelle.Close False
Set WBZiel = Nothing
Set WBQuelle = Nothing: Set WSZiel = Nothing
End Sub

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zoom bei Kopie gleich = 88%
16.03.2016 10:55:15
Michael
Hallo!
Müsste mit folgender Ergänzung klappen:
'...
Set WSZiel = WBZiel.Worksheets.Add(After:=WBZiel.Sheets(WBZiel.Sheets.Count))
ActiveWindow.Zoom = 88
WBQuelle.Worksheets("Report").Cells.Copy WSZiel.Cells(1)
'...
LG
Michael

AW: Zoom bei Kopie gleich = 88%
16.03.2016 11:00:26
chris58
Leider nein........kommt trotz allem mit 100% rein.
chris

AW: Zoom bei Kopie gleich = 88%
16.03.2016 11:21:27
Michael
Hallo!
Dann so:
    '...
'Kopieren der Tabelle „Tabelle1“ aus Datei „xyz“
With WBQuelle
.Worksheets("Report").Activate
ZoomF = ActiveWindow.Zoom
        .Worksheets("Report").Cells.Copy WSZiel.Cells(1)
End With
With WSZiel
.Activate
ActiveWindow.Zoom = ZoomF
.Name = "Report " & WBQuelle.Name
End With
WBQuelle.Close False
'...
Erfordert natürlich noch die Deklaration der Variablen ZoomF (zB als Integer).
LG
Michael

Anzeige
AW: Zoom bei Kopie gleich = 88%
16.03.2016 11:36:40
chris58
Leider..
da kommt ein Laufzeitfehler 91
Objektvariable oder With-Blockvariable nicht festgelegt.
Leider
chris

AW: Zoom bei Kopie gleich = 88%
16.03.2016 12:33:24
Michael
Hallo!
Funktioniert bei mir einwandfrei; da ich aber nicht weiß was Du genau machst, hier Dein Code ergänzt und leicht überarbeitet:
Sub CommandButton1_Click()
Dim SuchDialog As FileDialog
Dim Pfad As String
Dim WBZiel As Workbook
Dim ExportDatei As Variant
Dim WBQuelle As Workbook
Dim WSZiel As Worksheet
Dim ZoomF As Integer
Set WBZiel = ThisWorkbook
Set SuchDialog = Application.FileDialog(msoFileDialogFilePicker)
With SuchDialog
.Title = "Bitte Datei wählen"
.AllowMultiSelect = False
If .Show  -1 Then
MsgBox "Vorgang abgebrochen", vbInformation
Exit Sub
Else: Pfad = .SelectedItems(1)
End If
End With
Set WBQuelle = Workbooks.Open(Pfad)
Set WSZiel = WBZiel.Worksheets.Add
With WBQuelle
.Worksheets("Report").Activate
ZoomF = ActiveWindow.Zoom
.Worksheets("Report").Cells.Copy WSZiel.Cells(1)
End With
With WSZiel
.Activate
ActiveWindow.Zoom = ZoomF
.Name = "Report " & WBQuelle.Name
End With
WBQuelle.Close False
Set WBZiel = Nothing
Set WBQuelle = Nothing
End Sub
LG
Michael

Anzeige
AW: Zoom bei Kopie gleich = 88%
16.03.2016 13:07:25
chris58
Hallo !
Danke, ja der geht...danke....... wunderbar
eine Kleinigkeit wäre noch........das Tabellenblatt welches ich in die bestehende Datei damit einfüge, wird vor die anderen gestellt.....also.....Tabelle3 NEU als Report........dann Tabelle1, Tabelle2
Sagst du mir, was ich umstellen muß, um hinter die bestehenden Tabellen die neue zu bekommen.
Danke chris

AW: Zoom bei Kopie gleich = 88%
16.03.2016 13:13:12
Michael
Hallo!
Danke, ja der geht
Natürlich, so wie meine Lösungen davor auch; was Du gemacht hast, erschließt sich mir nicht.
Für das Einfügen am Ende, statt dieser Zeile
 Set WSZiel = WBZiel.Worksheets.Add
nimmst Du
With WBZiel
Set WSZiel = .Worksheets.Add(after:=.Worksheets(.Worksheets.Count))
End With
LG
Michael

Anzeige
AW: Zoom bei Kopie gleich = 88%
16.03.2016 13:25:00
chris58
Hallo !
Ja, das passt.......
Was ich gemacht habe.......ich habe Deinen code gegen den alten getauscht......
keine Ahnung, warum das voeher nicht ging. Ich habe aufgepasst, das ich keine andere Anweisung mitlösche. Ich habe drüberkopiert...keine Ahnung.........
Danke, jedenfalls für deine Mühe
chris

Gern, Danke für die Rückmeldung owT
16.03.2016 13:26:18
Michael

Makro für mehrere Dateien kopieren
16.03.2016 20:16:42
chris58
Hallo !
Nochmals danke für die Hilfe, doch ich habe bemerkt, das ich da nur ein Tabellenblatt in eine neue Datei speichern. Ich habe gesucht und diesen Code gefunden, der würde passen......Nur......
er speichert zwar die Datei im der neuen Mappe, jedoch bleiben die gewählten Dateien offen stehen und es kommt der Fehler:
Error: 1004 Die Copy Methode des Worksheet-Objektes konnte nicht ausgeführ werden.
Kann mir bitte einer helfen, was ich da anders machen kann ?
Danke im voraus
chris
Option Explicit
Sub Main()
Dim intCount As Integer
Dim varName As Variant
On Error GoTo Fin
varName = Application.GetOpenFilename("XLS-Dateien,*.xls")
If varName  False Then
Workbooks.Open varName
For intCount = 1 To Workbooks(Dir(varName)).Worksheets.Count
Workbooks(Dir(varName)).Worksheets(intCount).Copy After:=ThisWorkbook.Worksheets(1)
Next intCount
End If
Fin:
If Err.Number  0 Then MsgBox "Error: " & _
Err.Number & " " & Err.Description
End Sub

Anzeige
AW: Makro für mehrere Dateien kopieren
17.03.2016 07:46:14
chris58
Hallo !
Ich denke ich hab es gefunden.
Es liegt daran, das bei den hereinholden Datein, versteckte Blätter vorhanden sind. Kann man in den code einbauen, das er die Mappe öffnet (macht er ja) aber das auch das versteckte Blatt eingeblendet wird,.
Also Aufmachen..........Blatt (Liste) Einblenden.....Kopieren (hier Blatt wieder Ausblenden) die zu kopierende Datei wieder schliessen.Neue Datei offen stehen lassen.
Hab aber ein Passwort zum Einblenden in dieser Datei..........würde sowas gehen ?
Danke
chris

Bitte mach einen neuen Beitrag auf...
17.03.2016 08:56:07
Michael
Chris,
...Deine Frage von diesem Beitrag habe ich wirklich erschöpflich beantwortet.
Deine neuen Fragen haben damit im Grunde nichts zu tun; also eröffne bitte einen neuen Beitrag, bei dem Dir dann Interessierte helfen können.
Grds: 1) Der Code, den Du gefunden hast, um mehrere Dateien zu öffnen ist fragwürdig und 2) ja, was Du erreichen willst ist möglich. Aber warum hast Du nicht vorab genau getestet, was Du eigentlich haben/erreichen willst, sondern reichst alles nur so scheibchenweise nach? Das macht mir persönlich keine besondere Lust weiter zu helfen - das erweckt bei mir nur den Eindruck, dass Du nicht Unterstützung/Hilfe bei einem Problem suchst, bei dem Du selbst nicht weiter kommst, sondern jemanden, der Dir kostenlos Dein gesamtes Projekt schreiben soll.
LG
Michael

Anzeige
AW: Bitte mach einen neuen Beitrag auf...
17.03.2016 09:35:49
chris58
Hallo !
Ich hatte zuerst nur eine Datei mit einem Tabellenblatt und habe es nicht mit zwei oder mehreren gemacht, das geht auch wunderbar. Nur habe ich dann noch eine Datei hereinholen wollen, die hatte wie vorher beschrieben zwei Tabellenblätter und eine Tabellenblatt ausgeblendet. Da bin ich dann draufgekommen, das ich da wieder hänge. Dieser Code geht zwar mit einem Tabellenblatt, geht auch mit mehreren, jedoch nicht mit einem ausgeblendeten Tabellenblatt. Wie geschrieben: Bin erst nach einiger Zeit drauf gekommen und habe keinen Tau, wie ich das erreichen kann, das der Code das macht, was ich will.
lg
chris

Anzeige
Also gut, es ist ja sowieso sinnlos...
17.03.2016 10:19:55
Michael
Chris,
...zu erwarten, dass Du meinen Beitrag aufmerksam liest. Egal; bevor ich da nochmal einsteige, und Du dann mit neuen Anforderungen daherkommst: Was soll jetzt genau passieren? Beschreibe mir doch nochmal genau, welche Schritte gesetzt werden sollen (bezogen auf meinen bisherigen Code):
LG
Michael

AW: Also gut, es ist ja sowieso sinnlos...
17.03.2016 18:37:48
chris58
Hallo Michael !
Also danke mal
Das Makro, es geht auch, nur ich habe in einer der zu Importierenden Datei ein ausgeblendetes Tabellenblatt. Da kommt dann ein Fehler 1004.
1. Die zu importierende Mappe öffnen (geht)
2. das ausgeblendete Blatt (Liste) der zu importierende Mappe einblenden (ist mit Passwort belegt)
3. Diese Mappe importieren in die Zielmappe
4. in der Zieldatei dieses Tabellenblatt "Liste" wieder ausblenden.
5. Die importierte Mappe schliessen und
6. die Zieldatei offen lassen um es in einen Ordner unter...
speichern zu können.
Wenn geht, sollten .xls und .xlsx .xlsm eingelesen werden können.
Format 52 habe ich gelesen.
Bitte um Hilfe
Danke
chris
Hier der Code:
Sub Main()
Dim intCount As Integer
Dim varName As Variant
On Error GoTo Fin
varName = Application.GetOpenFilename("XLSX-Dateien,*.xlsx")
If varName  False Then
Workbooks.Open varName
For intCount = 1 To Workbooks(Dir(varName)).Worksheets.Count
Workbooks(Dir(varName)).Worksheets(intCount).Copy After:=ThisWorkbook.Worksheets( _
1)
Next intCount
End If
Fin:
If Err.Number  0 Then MsgBox "Error: " & _
Err.Number & " " & Err.Description
End Sub

Anzeige
Okay, schau ich mir morgen an... owT
17.03.2016 19:11:57
Michael

Ergänzung/Überarbeitung
18.03.2016 11:29:10
Michael
Servus Chris!
Also, hier mein bisheriger Code mit einigen Überarbeitungen und Ergänzungen; der Übersichtlichkeit halber gleich in einer Datei (ist so lauffähig), bitte testen: https://www.herber.de/bbs/user/104442.xlsm
Wenn Du Dir den Code in Dein Projekt (für den Commandbutton) übernimmst, musst Du alle Funktionen, die ich jetzt dazugepackt habe, ebenfalls übernehmen.
Bitte um Rückmeldung! Ich hoffe jetzt passt's!
LG
Michael

AW: Ergänzung/Überarbeitung
18.03.2016 16:08:05
chris58
Hallo Michael !
Ich bin überwältigt.........fablehaft......einfach genial
Normal, wenn ich dich kennen würde, würde ich sagen......was trinkst........
Ich muß mich bedanken.....nein........wäre zu wenig........herzlich bedanken
Ich kann nur sagen, es ist einfach ein Geniestreich.
Eine kleine Anmerkung, ist aber nicht der Rede wert, wenn man nach dem Hereinholen, wieder in das erste Tabellenblatt "Tabelle1" springen würde. Aber wie vorher schon geschrieben, ich bin überwältigt, das man sowas können kann..........und das ist meine ehrliche Meinung.
Danke nochmals
chris

Anzeige
Sprung auf's erste Blatt ist auch noch möglich...
18.03.2016 22:46:00
Michael
Hallo Chris,
... Danke für die nette Rückmeldung. Bzgl Deinem Wunsch nach dem Import das erste Blatt zu aktivieren, musst Du nur im Makro vor dem Punkt "Aufräumen" folgendes einfügen:
WBZiel.Worksheets(1).Activate
Dann ist nach dem Durchlauf des Import das erste Blatt in der Zielmappe wieder ausgewählt!
LG
Michael

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige