Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1804to1808
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

neues Tabellenblatt = Probleme

neues Tabellenblatt = Probleme
12.01.2021 11:11:50
Martin
Hallo Zusammen,
gestern in einer Testdatei einen Code zusammengeschrieben, der auf eine andere Datei im Netzwerk zugreift und aus dieser Daten ausliest/speichert.
Dazu bin ich den Umweg gegangen, das Tabellenblatt erst als neues Blatt einzufügen.
Soweit so gut, so stolz :)
Heute an der eigentlichen Datei gearbeitet, wobei ich die Parameter nun in einen eigenen Tab/Arbeitsmappe ("Parameter") geschrieben habe.
Nun spuckt der Code aber immer Fehler aus. (Laufzeitfehler '1004': Wir konnten '' nicht finden. Wurde das Objekt vielleicht verschoben, umbenannt oder gelöscht?)
Debugger markiert: Workbooks.Open Filename:=Pathname & Filename 'öffnet die Datei.
-> Via Messagebox geprüft ob die Werte Pfad, Name... richtig eingelesen wurden (waren leer, vermutlich noch aus Tabellenblatt 1, wo diese leer sind 'geprüft indem ich dort etwas eingetragen habe, in der Tat!)
Also habe ich versucht direkt auf die Zellen zuzugreifen: Pathname = Worksheets("Parameter").Cells(3, 2).Value 'Pfad
klappt (hatte dort ein " " um Parameter nicht drin)
MsgBox eingefügt, um zu sehen wie weit ich komme.
MsgBox erscheint im neu aktivierten Parametertab
Interessant:
Sheets("Parameter").Select
Range("A1").Select
führt letzteres zu einem Fehler:
Laufzeitfehler '1004': Die Select-Methode des Range-Objektes konnte nicht ausgeführt werden.
Lange Rede kurzer Sinn, da ich viel vorhabe, möchte ich gerne herausfinden was da krankt....
Der gleiche Code klappt wenn der Button schon im richtigen Tab ist.
Ich habe teilweise fast das Gefühl, dass der Code gleichzeitig ausgeführt wird und so der hintere Teil ausgeführt wird, bevor das neue Arbeitsblatt aktiv ist.....
(ist auch deutlich schneller obwohl es sogar auf eine Netzwerkdatei geht, als mein neuer Laptop wo es nur zu C muss)
Tausend Dank für Rat, freue mich zu lernen :)
Grüße Martin
p.s. gespeichert als Tagesprogramm.xlsm und die Datei die augerufen werden soll Datenbank.xlsx
Ich nutze hier "Microsoft Office Home and Business 2016"
Excel Version 2012 (Build 13530.20316 Klick-und-Los)

Private Sub DBalsTab_Click() 'Datenbank als neuen Tab einfügen
'Importiert ein Tabellenblatt
Sheets("Parameter").Select
'Range("A1").Select
Dim Pathname As String
Dim Filename As String
Dim Tabname As String
Dim ControlFile As String
ControlFile = ActiveWorkbook.Name 'Name der Steuerdatei/Ausführungsdatei
MsgBox ControlFile
Pathname = Range("B3").Value 'Dateiname
'Pathname = Worksheets("Parameter").Cells(3, 2).Value 'Pfad
Filename = Range("B4").Value 'Dateiname
Tabname = Range("B5").Value 'Tabname der Datenbank
Workbooks.Open Filename:=Pathname & Filename 'öffnet die Datei
ActiveSheet.Name = Tabname
Sheets(Tabname).Copy After:=Workbooks(ControlFile).Sheets(2)
Windows(Filename).Activate
'   Schreibt in die Datenbanktabelle DIREKT
'   Hier bei Bedarf Code
ActiveWorkbook.Close SaveChanges:=False 'Schliesst die Datei Datenbank und speichert diese   _
_
ggf
Windows(ControlFile).Activate
Sheets("Tabelle1").Select
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: neues Tabellenblatt = Probleme
12.01.2021 11:15:08
Martin
p.s. habe die Formatierung geprüft, dort wo es ging war es Standard.
Geht in der neuen Datei mit zwei Tabs aber weder im Standard, noch im Textformat.
Daraufhin die Variablen vorgängig als String definiert, das war ursprünglich auch nicht da.
AW: neues Tabellenblatt = Probleme
12.01.2021 11:19:20
Martin
Problem nach wie vor offen, sorry Checkbox nicht angeklickt.... bin neu hier :)
AW: neues Tabellenblatt = Probleme
18.01.2021 12:45:14
M.G.
Niemand eine Idee?
AW: neues Tabellenblatt = Probleme
18.01.2021 13:04:44
Tobias
Hallo Martin,
sobald du mit mehreren Workbooks arbeitest die du auch noch zur Laufzeit öffnest und schließt, solltest du diese per Variable hinterlegen

Dim neuesWorkbook as Workbook
Dim neuesWorksheet as Worksheet
'Das öffnet das neue Workbook und ermöglich die Kontrolle
Set neuesWorkbook = Workbooks.Open Filename:=Pathname & Filename
'Worksheet aus dem neu geöffnetem Workbook auswählen
Set neuesWorksheet = neuesWorkbook.Worksheets(tabname)
'Kopieren über direkte Ansprache des Worksheets
neuesWorksheet.Copy After:=Workbooks(ControlFile).Sheets(2)
'... weiterer Code
'Freigeben der Instanzen, wichtig bei wiederholter Ausführung
Set neuesWorkbook = Nothing
Set neuesWorksheet = Nothing
Damit solltest du einen Ansatzpunkt für dein Problem haben!
Schöne Grüße
Tobias
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige