Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Daten von anderer Exceldatei kopieren (W

Daten von anderer Exceldatei kopieren (W
27.12.2022 22:09:55
anderer
Hallo Makro und Excelfreunde
Ich würde gerne, mit einem Makro, Daten von einer anderer Exceldatei abgreifen.
Zeitrapport.xlsx, Rapport, F:J -> Projektdetails.xlsm, DB1, A:E
Datei, Tabelle, Bezug -> Datei, Tabelle, Bezug
Das Makro funktionier recht gut, bis auf zwei Fehlermeldungen:
- Viele Daten in der Zwischenablage (Problem gelöst, siehe Makro)
- AktivX Meldung (Datensicherheitswarnung)
Vertrauensstellungscenter:
AktivX: alles aktiviert (nicht empfohlen)
Makros: alles aktiviert (nicht empfohlen)

Option Explicit
Sub Projekte_aktualisieren()
Application.ScreenUpdating = False
Application.AutomationSecurity = msoAutomationSecurityForceDisable
Dim PROJEKTDETAILS, ZEITRAPPORT As String
PROJEKTDETAILS = Sheets("Eingaben").Cells(7, 1).Value
'Projektdetails.xlsm (Diese Excel-Datei)
ZEITRAPPORT = Sheets("Eingaben").Cells(8, 1).Value
'Zeitrapport.xlsx (andere Excel-Datei)
On Error Resume Next
Open ThisWorkbook.Path & "\" & Sheets("Eingaben").Cells(8, 1).Value For Binary Access _
Read Lock Read As 1
Close #1
If Err.Number  0 Then
'MsgBox "Datei ist bereits offen"
Windows(Sheets("Eingaben").Cells(7, 1).Value).Activate
Else
'MsgBox "Datei ist geschlossen"
Workbooks.Open Filename:=ThisWorkbook.Path & "\" & Sheets("Eingaben").Cells(8, 1).Value
End If
ActiveWorkbook.Save
' Leider muss ich an dieser Stelle die Tabelle sichern,
' damit die "Fehlermeldung: Viele Daten in der Zwischenablage" nicht mehr erscheint
Sheets("Rapport").Columns("F:J").Copy
Windows(PROJEKTDETAILS).Activate
'Windows("Zeitrapport.xlsm").Activate
' ab hier funktioniert das Makro manchmal nicht (sporatisch)
ActiveSheet.Sheets("DB1").Select
Columns("A:E").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows(Sheets("Eingaben").Cells(8, 1).Value).Activate
'Windows("Zeitrapport.xlsx").Activate
ActiveWorkbook.Close False
Application.AutomationSecurity = msoAutomationSecurityByUI
Application.ScreenUpdating = True
End Sub
Wie bekomme ich die Fehlermeldungen weg?
Sie unterbrechen das Makro.
Gibt es Verbesserungsmöglichkeiten, allgemein?
Kann mir da wer helfen?
Vielen Dank!
Lg Giuseppe
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten von anderer Exceldatei kopieren (W
27.12.2022 23:40:47
anderer
Hallo Probier mal ob das was nützt!
Option Explicit

Sub Projekte_aktualisieren()
Application.ScreenUpdating = False
Application.AutomationSecurity = msoAutomationSecurityForceDisable
Dim PROJEKTDETAILS, ZEITRAPPORT As String
PROJEKTDETAILS = Sheets("Eingaben").Cells(7, 1).Value
'Projektdetails.xlsm (Diese Excel-Datei)
ZEITRAPPORT = Sheets("Eingaben").Cells(8, 1).Value
'Zeitrapport.xlsx (andere Excel-Datei)
On Error Resume Next
Open ThisWorkbook.Path & "\" & Sheets("Eingaben").Cells(8, 1).Value For Binary Access _
Read Lock Read As 1
Close #1
If Err.Number  0 Then
'MsgBox "Datei ist bereits offen"
Windows(Sheets("Eingaben").Cells(7, 1).Value).Activate
Else
'MsgBox "Datei ist geschlossen"
Workbooks.Open Filename:=ThisWorkbook.Path & "\" & Sheets("Eingaben").Cells(8, 1).Value
End If
ActiveWorkbook.Save
Application.DisplayAlerts = True
' Leider muss ich an dieser Stelle die Tabelle sichern,
' damit die "Fehlermeldung: Viele Daten in der Zwischenablage" nicht mehr erscheint
Sheets("Rapport").Columns("F:J").Copy
Application.DisplayAlerts = False
Windows(PROJEKTDETAILS).Activate
'Windows("Zeitrapport.xlsm").Activate
' ab hier funktioniert das Makro manchmal nicht (sporatisch)
ActiveSheet.Sheets("DB1").Select
Columns("A:E").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows(Sheets("Eingaben").Cells(8, 1).Value).Activate
'Windows("Zeitrapport.xlsx").Activate
ActiveWorkbook.Close False
Application.AutomationSecurity = msoAutomationSecurityByUI
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Gruß
Oraculix
Anzeige
AW: Daten von anderer Exceldatei kopieren (W
28.12.2022 00:11:38
anderer
verabschiede dich von select und activate. Du willst doch nicht dabei zugucken wenn das Makro arbeitet, oder?
Activesheet ist das aktive Blatt. Das hat keine Unterblätter. Das aktive Blatt muß nicht selektiert werden. Ist es ja schon.
ActiveSheet.Sheets("DB1").Select

Sheets("DB1").Columns("A:E").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Die Referenz auf ein Workbook-Object ist besser nutzbar für dich als das Windows-Object.
du schreibst den Dateinamen in die Variable ZEITRAPPORT aber verwendest sie nicht. Warum?

Anzeige
AW: Daten von anderer Exceldatei kopieren (W
29.12.2022 16:36:42
anderer
Hallo oraculix, hallo ralf_b
Vielen Dank für Eure Mithilfe.
Ich habe den Code

Application.DisplayAlerts = True
,
an der entsprechenden Stelle (nach dem Speichern) eingefügt.
Habe es später auch auf

False
geändert.
Auch habe ich mich von den unnötigen Umwegen verabschiedet. Zumindest bei diesem Makro ;-)
Das Makro selbst ist noch in Bearbeitung. Später könnte ich die unbenutzte Variable einbauen.
Mir mir ist schon Bewusst, dass man das Makro sicherlich anders aufbauen sollte.
Bin eben nur ein Anfänger und Hobby Programmierer.
Leider funktioniert es immer noch nicht, trotz mir allen bekannten Möglichkeiten.
Im Vertrauensstellungscenter. Vertrauenswürdige Speicherorte, habe ich den Speicherort ergänzt.
Alle AktivX, Steuerelemente und Makros aktiviert.
Ist eigentlich alles nicht so gut, hoffe auf eine Makro Lösung.
Folgende Meldung erscheint:
Datensicherheitswarnung: Dieses Dokument enthält Makros, ActiveX-Steuerelemente, XML-Erweiterungspaketinformationen oder Webkomponenten. Diese enthalten möglichweise persönliche Informationen, die durch den Dokumentinspektor nicht entfernt werden können.
Lg Giuseppe
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige