Schreiben in andere Excel-Datei macht Worksheet unsichtbar
Guten Tag!
Ich möchte von einem Makro aus in eine andere Excel-Datei schreiben. Nach dem schreiben und speichern der Daten, öffne ich die Datei manuell und muss dann sehen das die Tabellenblätter in der Datei ausgeblendet sind.
Habe mein Problem aus dem Projekt in zwei Dateien übertragen.
main.xlsm:
Schreibe in die Datei part.xlsm in das Tabellenblatt Daten an der Stelle A1 den Wert 12345 und speichere das Worbook nach Schließen der GUI.
Eine weitere Datei namens part.xlsm, wo das Tabellenblatt Tabelle1 in Daten umbenannt ist.
Ich habe im Internet nach verschiedenen Möglichkeiten gesucht das Tabellenblatt wieder sichtbar zu machen.
Bisher das hier gefunden, was leider nicht klappt.
Diesen oberen Code habe ich in part.xlsm eingebaut, damit der beim Öffnen ausgeführt wird.
Anhand von der Ausgabe "Workbook_Open" sehe ich auch das der Code ausgeführt wird.
Einzige Lösung die ich bisher habe ist das hier: Ansicht -> Einblenden -> Arbeitsmappe auswählen und auf OK klicken. Diese Lösung hätte ich gerne als Code.
Hoffe das jemand von euch eine Lösung für mein Problem hat.
Viele Grüße,
Lukas
Ich möchte von einem Makro aus in eine andere Excel-Datei schreiben. Nach dem schreiben und speichern der Daten, öffne ich die Datei manuell und muss dann sehen das die Tabellenblätter in der Datei ausgeblendet sind.
Habe mein Problem aus dem Projekt in zwei Dateien übertragen.
main.xlsm:
Schreibe in die Datei part.xlsm in das Tabellenblatt Daten an der Stelle A1 den Wert 12345 und speichere das Worbook nach Schließen der GUI.
Public wb
Public sheet
Private Sub CommandButton1_Click()
Set wb = GetObject(ActiveWorkbook.Path & "\part.xlsm")
Set sheet = wb.Sheets("Daten")
sheet.Range("A1") = "12345"
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
wb.Close SaveChanges:=True
End Sub
Eine weitere Datei namens part.xlsm, wo das Tabellenblatt Tabelle1 in Daten umbenannt ist.
Ich habe im Internet nach verschiedenen Möglichkeiten gesucht das Tabellenblatt wieder sichtbar zu machen.
Bisher das hier gefunden, was leider nicht klappt.
sh.Visible = True
sh.Cells.EntireRow.Hidden = False
sh.Cells.EntireColumn.Hidden = False
Diesen oberen Code habe ich in part.xlsm eingebaut, damit der beim Öffnen ausgeführt wird.
Private Sub Workbook_Open()
Debug.Print ("Workbook_Open")
ThisWorkbook.Sheets("Daten").Visible = True
ThisWorkbook.Sheets("Daten").Cells.EntireRow.Hidden = False
ThisWorkbook.Sheets("Daten").Cells.EntireColumn.Hidden = False
End Sub
Einzige Lösung die ich bisher habe ist das hier: Ansicht -> Einblenden -> Arbeitsmappe auswählen und auf OK klicken. Diese Lösung hätte ich gerne als Code.
Hoffe das jemand von euch eine Lösung für mein Problem hat.
Viele Grüße,
Lukas
Please also mark the comments that contributed to the solution of the article
Content-Key: 308490
Url: https://administrator.de/contentid/308490
Printed on: May 4, 2024 at 07:05 o'clock
5 Comments
Latest comment
Hallo
Hiermit wird die Arbeitsmappe eingeblendet.
Also sollte doch irgendwo in deinem Code ein Schnipsel Windows("Arbeitsmappe.xlsx").Visible = False sein.
Ansonsten vielleicht mal die Arbeitsmappe zum Download bereitstellen
Gruss
Einzige Lösung die ich bisher habe ist das hier: Ansicht -> Einblenden -> Arbeitsmappe auswählen und auf OK klicken. Diese Lösung hätte ich gerne als Code.
Sub Makro1()
Windows("Arbeitsmappe.xlsx").Visible = True
End Sub
Hiermit wird die Arbeitsmappe eingeblendet.
Also sollte doch irgendwo in deinem Code ein Schnipsel Windows("Arbeitsmappe.xlsx").Visible = False sein.
Ansonsten vielleicht mal die Arbeitsmappe zum Download bereitstellen
Gruss
Hallo!
Gruß Dieter
Nach dem schreiben und speichern der Daten, öffne ich die Datei manuell und muss dann sehen das die Tabellenblätter in der Datei ausgeblendet sind.
Yepp, GetObject ist nur zum Lesen von Excel-Dateien geeignet. Zum Schreiben musst Du die Datei per Workbooks.Open öffnenGruß Dieter
Hallo Lukas!
Wenn Du die Datei unsichtbar bearbeiten willst, dann kannst Du dies per neuer Excel-Instanz bewerkstelligen:
Gruß Dieter
Wenn Du die Datei unsichtbar bearbeiten willst, dann kannst Du dies per neuer Excel-Instanz bewerkstelligen:
Set objExcelApp = CreateObject("Excel.Application") 'Standard Visible = False
'Öffnen
Set objWks = objExcelApp.Workbooks.Open(....).Sheets(1)
'Speichern/Schließen
objWks.Parent.Close True
objExcelApp.Quit