Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Tabellenblattexport + Import in bzw. aus geschlossener Datei - Importprobleme
#1
Hallo liebe VBA Cracks,

ich habe ein kleines Programm (Tabellenexport) geschrieben, welches ein aktives Tabellenblatt in die geschlossene Datei Speicher.xls verschiebt. Das Programm funktioniert einwandfrei. Was mir nicht gelingt ist der umgekehrte Fall. Ich möchte die in der Datei Speicher.xls abgespeicherten Tabellenblätter jeweils einzeln wieder in meine aktive Exceldatei einbinden.

Wer von Euch Experten weiß wie der Code dazu aussehen müsste?

Code:
Option Explicit

Sub Tabellenblattexport()
   'Exportiert das jeweils aktive Tabellenblatt in die Datei Speicher.xls
  
   Dim CopyFrom As Object
   Dim CopyTo As Object
   Dim CopyThis As Object
   Dim vbName As String
   Dim vbWas As Variant
   Dim xl As Object
  
   Set xl = CreateObject("Excel.Application")
   xl.Visible = False
  
   vbWas = ActiveSheet.Index
   vbName = ThisWorkbook.FullName
  
   Set CopyFrom = xl.Workbooks.Open(vbName)
   Set CopyThis = CopyFrom.Sheets(vbWas)
   Set CopyTo = xl.Workbooks.Open("C:\Test\Speicher.xls")
  
   CopyThis.Copy After:=CopyTo.Sheets(CopyTo.Sheets.Count)
  
   CopyTo.Save
   CopyTo.Close
   CopyFrom.Close
  
   Application.DisplayAlerts = False
   Sheets(vbWas).Delete
   Application.DisplayAlerts = True
  
End Sub


19:15 Uhr:
Code strukturiert dargestellt durch 3. Button von rechts im Beitragsformular: #
Moderator
[Bild: smilie.php?smile_ID=1810]
Antworten Top
#2
Erstmal Hallo
das Problem ist bei Sehschwachen;Nichtkennern den/die Codezeilen zu betrachten, deswegen siehe hier:
photo Raute_zps3ee56209.jpg

Nicht maßregelnd nur hinweisgebend.

man liest sich ... :21:
[-] Folgende(r) 1 Nutzer sagt Danke an WergibtmirRat für diesen Beitrag:
  • Rabe
Antworten Top
#3
Hallo ratrad,
Was geht denn nicht?
Im Prinzip hast Du in Deinem Code alles nötige drin. Beim Import muss jedoch die Reihenfolge der Aktionen und Zuweisungen überdacht und korrigiert werden.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#4
Hallo Andre,
den Code umzudrehen war natürlich meine erste Idee. Ich will also das Tabellenblatt Erik aus der Excel Datei Speicher.xls in meine aktuelle Dateie importieren. Das sieht dann so aus:

Code:
vbWas = "Erik"
vbName = ThisWorkbook.FullName
vbDatei = "C:\Verzeichnis\Speicher.xls"

Set CopyFrom = xl.Workbooks.Open("C:\Verzeichnis\Speicher.xls")
Set CopyThis = CopyFrom.Workbooks.Sheets(vbWas)
Set CopyTo = xl.Workbooks.Open(vbName)

Dann stoppt der Compiler bei dieser Zeile und ich weiß nicht wieso:
Set CopyThis = CopyFrom.Workbooks.Sheets(vbWas)

Ich verzweifel langsam an der ganzen Sache
Antworten Top
#5
Hallo ratrad,
da hast Du was doppelt gemoppelt. Excel hat ein Problem, weil Du das Workbook-Objekt nun zwei mal verwendest. CopyFrom ist ja das Workbook. Also nur
Set CopyThis = CopyFrom.Sheets(vbWas)
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste