Anzeige
Archiv - Navigation
900to904
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
900to904
900to904
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

kopie von tabellenblätter will net! dringend Hilfe

kopie von tabellenblätter will net! dringend Hilfe
05.09.2007 10:42:03
tabellenblätter
Hallo erstmal,
möchste aus einer Exceldatei die Mappe asic-Ausgabe in eine Exceldatei aaaaaa.xls kopieren.
Dazu hab ich in dem Workbook, in dem auch die ASIC-Ausgabe ist folgende Sub Routine geschrieben:
Sub Tabellenblatt_in_Arbeitsmappe(strName As String, strFilename As String)
Dim wkbworkbook As Workbook
Dim wksworksheet As Worksheet
On Error Resume Next
Application.ScreenUpdating = False
Set wksworksheet = Sheets(strName)
Set wkbworkbook = Workbooks.Open(strFilename)
wksworksheet.Copy _
After = wkbworkbook.Sheets(wkbworkbook.Worksheets.Count)
wkb.Close savechanges:=True
wkbworkbook.Save
wkbworkbook.Close
Application.ScreenUpdating = True
End Sub


durch einen Button "Updatebutton" rufe ich diese Funktion auf und übergebe ihr 2 Parameter
der erste ist das zu kopierende Arbeitsblatt, als zweites die Zieldatei.


Private Sub updatebutton_Click()
Call Tabellenblatt_in_Arbeitsmappe("ASIC-Ausgabe", "aaaaaa.xls")
MsgBox "Kopieren von ASIC-Ausgabe beendet!"
End Sub


Nun kopiert das drecksding aber nicht wie es soll. An was könnte dies liegen, ich bin total ratlos und benötige von euch dringend hilfe.
Ich hoffe ihr wiest was da schieff läuft.
Danke im vorraus für die Hilfe.
Gruß Marcel

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: kopie von tabellenblätter will net! dringend Hilfe
05.09.2007 13:00:28
tabellenblätter
Hallo Marcel,
genau wiest ich es natürlich nicht. Ich tippe mal, das deine Datei "aaaaaa.xls" nicht im aktiven Verzeichnis abgelegt ist. Dadurch komt es zum Fehler beim Öffnen der Datei. Du muss ggf. den Dateinamen inklusive Verzeichnis mit der Variablen "strFilename" an die Prozedur übergeben.
Außerdem ist es nicht besonders gut mit "On Error goto Next" zu arbeiten. Dies sollte man nur machen, wenn man bewußt eine Fehlerbedingung überspringen möchte, die den Gesamtablauf der Prozedur nicht stört. Bei Fehlern tappt man sonst nämlich im Dunkeln und erhält keine Infos warum das Makro aussteigt.
Besser ist ein kontrollierter Ausstieg mit Fehlermeldung/-verarbeitung wie in der folgenden angepassten Version deines Makros. Bei schrittweiser Ausführung des Makros kannst du so feststellen an welcher Stelle die Prozedur in die Fehlerbearbeitung abzweigt.
gruß
Franz

Sub Tabellenblatt_in_Arbeitsmappe(strName As String, strFilename As String)
Dim wkbworkbook As Workbook
Dim wksworksheet As Worksheet
On Error GoTo Fehler
Application.ScreenUpdating = False
Set wksworksheet = Sheets(strName)
Set wkbworkbook = Workbooks.Open(strFilename)
wksworksheet.Copy _
After = wkbworkbook.Sheets(wkbworkbook.Worksheets.Count)
wkb.Close savechanges:=True
wkbworkbook.Save
wkbworkbook.Close
Application.ScreenUpdating = True
Exit Sub
Fehler:
MsgBox "Fehler Nummer : " & Err.Number & " ist aufgetreten!" & vbLf & vbLf & _
Err.Description
End Sub


Anzeige
AW: kopie von tabellenblätter will net! dringend Hilfe
05.09.2007 13:41:00
tabellenblätter
habs bereits davor versucht mit den gesamten Filename, aber will nicht.
Hab die error händling unterdrückung raus gemacht.
er meint nun, dass der Index außerhalb des gültigen bereichs liegt, was ich nicht ganz versteh. Der Debugg markiert die Zeile: Set wksworksheet = Sheets(strName)
Ne idee?

AW: kopie von tabellenblätter will net! dringend Hilfe
05.09.2007 13:45:32
tabellenblätter
habs bereits davor versucht mit den gesamten Filename, aber will nicht.
Hab die error händling unterdrückung raus gemacht.
er meint nun, dass der Index außerhalb des gültigen bereichs liegt, was ich nicht ganz versteh. Der Debugg markiert die Zeile: Set wksworksheet = Sheets(strName)
Ne idee?

Anzeige
AW: kopie von tabellenblätter will net! dringend Hilfe
05.09.2007 13:48:23
tabellenblätter
Hallo,
erstmal danke für die antwort.
Der Fehler ist:
Fehler 9 : Index außerhalb der Bereichs
Debugg to Set wksworksheet = Sheets(strName)
Ne idee?

AW: kopie von tabellenblätter will net! dringend Hilfe
05.09.2007 15:18:51
tabellenblätter
Hi,
so wie ich das she settest du das Worksheet, bevor die Datei überhaupt geöffnet ist,
öffne diese zuerst und sette dann das Blatt mit Angabe des dateinamens.
mfg Heinz

AW: kopie von tabellenblätter will net! dringend Hilfe
05.09.2007 15:21:00
tabellenblätter
Hallo Marcel,
scheinbar gibt es einen Konflikt weil du der als Worksheet deklarierten Variablen ein Objekt aus der Sheets-Auflistung zuweisen willst. Passe folgende Zeile an:

Set wksworksheet = Worksheets(strName)


Alternativ kannst du diese Zeile durch die folgenden Zeilen ersetzen. Dabei wird geprüft, ob _ das zu kopierende Blatt vorhanden ist mit entsprechender Meldung.


For Each wksworksheet In ActiveWorkbook.Worksheets
If wksworksheet.Name = strName Then Exit For
Next
If wksworksheet Is Nothing Then
MsgBox "Name Datei: " & ActiveWorkbook.Name & vbLf & vbLf _
& "Zu kopierendes Tabellenblatt: " & strName & " nicht gefunden!"
Exit Sub
End If


Könnte natürlich auch sein, dass dir bei der Schreibweise des Tabellenblattnamens irgendein mysteriöser Fehler passiert ist.
Gruß
Franz

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige