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

Zellbereich aus geschlossener Datei auslesen

Zellbereich aus geschlossener Datei auslesen
28.01.2019 20:40:24
Dirk
Hallo und guten Abend
Ich habe ein Problem ,zu dem ich hier zwar schon Feedback bekommen habe , jedoch kam bisher noch keine Lösung dabei heraus .Zur Erklärung :Ich möchte in meinem geöffneten sheet(Tabelle1) einen Zellbereich per Button und danach folgendem Auswahlfenster aus einer geschlossenen Datei importieren.Hier ist es aber nicht immer der selbe Quellpfad , sondern unterschiedliche Pfade und Dateinamen . Die Quelldatei - gleich welcher Name - ist aber immer gleich aufgebaut und die Range um die es geht ist immer A207:C228.Die Ziel-Range im geöffneten sheet , ebenfalls Tabelle1 ,ist auch immer A207:C228 .Das ganze endet in der Fehlermeldung : Fehler 438 Beschreibung : Objekt unterstützt diese Eigenschaft oder Methode nicht .Nach einem Vorschlag aus dem Forum habe ich dann den Code leicht umgeschrieben . Leider veränderte sich dabei nur die Fehlermeldung , nicht aber die Funktion die ich eigentlich haben wollte :-(
Mein erster Versuch sah so aus :
Sub Ticketimport()
Dim Quelle As Object, Ziel As Object
Dim Datei As String
On Error GoTo Fehler
Datei = Application.GetOpenFilename("Excel-Dateien(*.xlsx),*xls")
If Datei = "Falsch" Then
MsgBox "keine Datei ausgewählt", , "Abbruch"
Exit Sub
End If
Workbooks.Open Filename:=Datei
Tabelle1 = ActiveSheet.Range("A207:C228").Value
Set Quelle = ActiveWorkbook.Worksheets(Tabelle1)
Set Ziel = ThisWorkbook.Worksheets(Tabelle1)
Quelle.UsedRange.Copy Ziel.Cells(1, 207)
ActiveWorkbook.Close
Set Quelle = Nothing
Set Ziel = Nothing
Exit Sub
Fehler:
Set Quelle = Nothing
Set Ziel = Nothing
MsgBox "FehlerNr.: " & Err.Number & vbNewLine & vbNewLine _
& "Beschreibung: " & Err.Description _
, vbCritical, "Fehler"
End Sub

Der Änderungsvorschlag sah dann so aus :
Sub Ticketimport()
Dim Quelle As Object, Ziel As Object
Dim Datei As String
On Error GoTo Fehler
Datei = Application.GetOpenFilename("Excel-Dateien(*.xlsx),*xls")
If Datei = False Then
MsgBox "keine Datei ausgewählt", , "Abbruch"
Exit Sub
End If
Workbooks.Open Filename:=Datei
ActiveWorkbook.Tabelle1.Range("A207:C228").Copy _
ThisWorkbook.Tabelle1.Range("A207:C228")
ActiveWorkbook.Close
Exit Sub
Fehler:
MsgBox "FehlerNr.: " & Err.Number & vbNewLine & vbNewLine _
& "Beschreibung: " & Err.Description _
, vbCritical, "Fehler"
End Sub

Leider änderte sich nur die Fehlermeldung :FehlerNr.13 Beschreibung : Typen unverträglich.
Daraufhin bekam ich den Tip den Code zu unterteilen um den Fehler wenigstens schon mal der Quell oder Zieldatei zuzuordnen . Leider liefen beide Teile in den Fehler 13.
Kann mir bitte , bitte , bitte jemand einen Tip geben was ich falsch mache ?
Zum besseren Verständnis habe ich die Zieldatei mit entsprechendem Code mal angefügt , vielleicht nütz es ja etwas , falls mir jemand helfen kann .
Da ich mich nur rein Hobby-mässig mit Excel/VBA beschäftige , war ich schon stolz das ich bis hier her gekommen bin, aber an dieser beknackten Fehlermeldung verzweifel ich so langsam .....
Für Hilfe wäre ich echt sehr dankbar !!!
Gruss , Dirk

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellbereich aus geschlossener Datei auslesen
28.01.2019 20:55:00
onur
Was soll denn diese Zeile deiner Meinung nach bewirken?
Tabelle1 = ActiveSheet.Range("A207:C228").Value

AW: Zellbereich aus geschlossener Datei auslesen
28.01.2019 20:59:15
onur
"Zum besseren Verständnis habe ich die Zieldatei mit entsprechendem Code mal angefügt" - und wo genau?
Die Fehlerbeschreibung ohne die Stelle, wo er auftritt, ist als ob du deinem Arzt sagst: "Ich habe stechende Schmerzen", ohne ihm zu verraten, wo.
AW: Zellbereich aus geschlossener Datei auslesen
28.01.2019 21:05:03
Dirk
UPS ,
https://www.herber.de/bbs/user/127229.zip
Die Fehlermeldung ist ein Popup Fenster welches man nur mit OK bestätigen kann . Mehr Details tauchen da nicht auf ....
Anzeige
AW: Zellbereich aus geschlossener Datei auslesen
28.01.2019 21:08:57
Dirk
Sieht dann so aus
Userbild
AW: Zellbereich aus geschlossener Datei auslesen
28.01.2019 21:10:36
Werner
Hallo Dirk,
Sub Ticketimport()
Dim Datei As String
Application.ScreenUpdating = False
On Error GoTo Fehler
Datei = Application.GetOpenFilename("Excel-Dateien(*.xlsx),*xls")
If Datei = "Falsch" Then
MsgBox "keine Datei ausgewählt", , "Abbruch"
Exit Sub
End If
Workbooks.Open Filename:=Datei
'Blattnamen anpassen
ActiveWorkbook.Worksheets("Tabelle1").Range("A207:C228").Copy _
ThisWorkbook.Worksheets("Tabelle1").Range("A207")
ActiveWorkbook.Close
Exit Sub
Fehler:
MsgBox "FehlerNr.: " & Err.Number & vbNewLine & vbNewLine _
& "Beschreibung: " & Err.Description _
, vbCritical, "Fehler"
End Sub
Gruß Werner
Anzeige
AW: Zellbereich aus geschlossener Datei auslesen
28.01.2019 21:30:57
Dirk
Hallo Werner !
Ich glaub`s ja nich :-) Da fummel ich seit 2 Wochen an diesem sch...Ding und dann kommst Du :-)
Hab nur noch den Application.DisplayAlerts = False eingefügt und er macht genau das was ich die ganze
Zeit haben wollte .Hab Dich gerade in mein Herz geschlossen !
Vielen vielen Dank für Deine schnelle Hilfe !!!
Gruß Dirk
Gerne u. Danke für die Rückmeldung. o.w.T.
28.01.2019 22:09:07
Werner
AW: Gerne u. Danke für die Rückmeldung. o.w.T.
28.01.2019 23:45:07
Dirk
Hallo Werner !
Ich hoffe ich darf noch mal stören....
Nun hab ich plötzlich ein Problem aus einer ganz anderen Ecke ....
Wenn ich jetzt das Makro Daily senden ausführen möchte sagt er mir daß dies nicht möglich ist weil der Anhang die zulässige Grösse überschreitet? Das hat vorher problemlos gefunzt. Hast Du eine Idee was ich ändern muss ? Er baut mir eine Mörder PDF mit über 30 MB und verweigert dann den E-Mail Versand .....Hab die Datei nochmal angehangen ...https://www.herber.de/bbs/user/127234.zip
Gruss Dirk
Anzeige
AW: Gerne u. Danke für die Rückmeldung. o.w.T.
29.01.2019 11:05:23
Werner
Hallo Dirk,
na ja, du exportierst bei Daily Senden ja auch die ganze Datei und nicht nur das Blatt.
Du hast
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _....

Ändere das mal in
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _

Ergibt bei mir eine PDF mit 296 kb.
Und noch was:
Sei mir nicht böse, aber der Code ist ziemlich grottig. Gefühlte 1000 Codezeilen um Zellen einzeln zu prüfen ob sie ausgefüllt sind oder nicht.
Da könnte man das meiste auf Zellbereiche zusammenfassen und den Code wahrscheinlich auf einen Bruchteil reduzieren.
Aber ehrlich gesagt habe ich die Zeit und die Lust nicht, mich durch den Wust an Code zu wühlen.
Weiter geht es mit verbundenen Zeilen/Zellen. Ich frage mich, wozu das Ganze? Das erschwert das Schreiben von Code ungemein und ist, meiner Meinung nach unnütz. Excel ist eine Tabellenkalkulation und kein Grafikprogramm.
Ich habe mal die ganzen Verbünde gelöscht. Dadurch waren einige Zeilen "überflüssig". Die habe ich einfach ausgeblendet, damit man die ganzen Makros nicht anpassen muss.
Bei deinem Code zum Leeren des Blattes kriege ich Augenkrebs. Wozu erst eine Zelle/Zellbereich selektieren um dann die "Selekton" zu leeren. Unnötig, kostet nur Zeit und sonst nix.
Statt
Range("S10").Select
Selection.ClearContents

gleich so:
Range("S10").ClearContents

Den Code habe ich überarbeitet. Schau dir mal an, was durch das Aufheben der Zellverbünde und durch das Weglassen der ganzen Selektiererei noch übrig geblieben ist.
Das Makro für den Mailversand ist schon angepasst.
https://www.herber.de/bbs/user/127246.xlsm
Gruß Werner
Anzeige
AW: Gerne u. Danke für die Rückmeldung. o.w.T.
30.01.2019 08:16:02
Dirk
Hallo Werner ! .
Ich bin keineswegs böse wegen Deiner Anmerkungen .Ganz im Gegenteil - ich find es toll und kann wieder was neues lernen .Das was ich bisher zusammen gebracht hab , sind ja quasi alles Befehle die man sich im Netzt irgendwann irgendwo zusammen geholt hat . Und wenns dann funzt freut man sich und sucht nicht nach kürzeren Lösungen :-) .Also finde ich Deine Kritik eher hilfreich , vielen Dank dafür .
Weil ich es hobbymässig mache , muss es ja nicht heißen das ich nichts mehr dazu lernen möchte ;-)
Vielen Dank für Deine Zeit !
Gruss Dirk
Gerne und viel Spaß noch. o.w.T.
30.01.2019 10:38:28
Werner
AW: Zellbereich aus geschlossener Datei auslesen
28.01.2019 21:10:53
onur
Klar tauchen da nicht mehr Details auf, wenn du die Zeile
On Error GoTo Fehler
nicht wegmachst.
Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige