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

Laufzeitfehler 91 beim Daten kopieren

Laufzeitfehler 91 beim Daten kopieren
28.11.2012 22:31:16
757534
Hallo Zusammen,
Leider stehe ich mal wieder total bei einem Makro an. Es geht darum, dass ein Makro zuerst ein neues .xls-file generiert und dann aus dem file, aus dem das Makro gestartet wurde, bestimmte Daten herauskopiert und in das neue file pasted. Nun erhalte ich aber leider den Laufzeitfehler 91 und stehe hierbei total an:
[Code]

Private Sub CommandButton2_Click()
'Dim Tagesein As Workbook
Dim Anz_tabllen As Byte
Anz_tabelle = Application.SheetsInNewWorkbook
Application.SheetsInNewWorkbook = 1 'nur ein Tabellenblatt
Workbooks.Add
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:="C:\Temp\" & Date & " Tageseinnahmen von S.M.A.A.xls", Password: _
_
="admin"
Application.DisplayAlerts = True
Set Tagesein = ActiveWorkbook
Tagesein.Unprotect Password:="admin"
Call Datenkopieren
Tagesein.Save
Tagesein.Protect Password:="admin"
Tagesein.Close
End Sub

Private Sub Datenkopieren()
Dim bem3 As Range
Dim bem4 As Workbook
Dim bem5 As Workbook
Dim leereZeile As Range
Set bem3 = ThisWorkbook.Sheets("Kasse").Range("a1:z65000").Find(Date)
Set bem4 = ThisWorkbook
set bem5 = workbooks("C:\Temp\" & Date & " Tageseinnahmen von S.M.A.A.xls") 'HIER KOMMT DER _
FEHLER
If Not bem3 Is Nothing Then
For I = bem3.Row To 100 'maximale Anzahl Buchungen pro Tag ist 100
If CDate(bem4.Sheets("Kasse").Cells(I, 7).Value) = Date Then
bem4.Sheets("Kasse").Activate
bem4.Sheets("Kasse").Cells(I, 7).Select
ActiveCell.EntireRow.Copy
bem5.sheets("Tabelle1").Activate
leereZeile = bem5.Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row + 1 ' _
Erste leere Zeile in der Datei finden
bem5.Sheets("Tabelle1").Range("A" & leereZeile & ":L" & leereZeile).Select ' _
Kopierte Daten in erste freie Zeile einfügen
ActiveSheet.Paste
Else
End If
Next I
Else
End If
End Sub

Kann mir da bitte jemand weiterhelfen?
Grüsse,
cirilfab

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 91 beim Daten kopieren
29.11.2012 08:07:04
fcs
Hallo cirilfab,
in Excel werden offene Arbeitsmappen nur mit dem Namen (ohne Verzeichnis) eine Variblen per Set zugewiesen.
Set bem5 = Workbooks(Date & " Tageseinnahmen von S.M.A.A.xls") 'HIER KOMMT DER FEHLER

Dein Code ist aber noch sehr stark mit .Activate und .Select bestückt. Das ist meistens nicht erforderlich. Auch stimmen beim Kopieren die Objekt-Größen nicht überein (du kannst keine ganze Zeile in einen kleineren Zellbereich kopieren.
Gruß
Franz
Private Sub Datenkopieren(bem5 As Workbook)
Dim bem3 As Range
Dim bem4 As Workbook
Dim bem5 As Workbook
Dim leereZeile As Range
Set bem3 = ThisWorkbook.Sheets("Kasse").Range("a1:z65000").Find(Date)
Set bem4 = ThisWorkbook
Set bem5 = Workbooks(Date & " Tageseinnahmen von S.M.A.A.xls") 'HIER KOMMT DER FEHLER
If Not bem3 Is Nothing Then
'Letzte Zeile mit Daten finden
leereZeile = bem5.Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row ' _
For I = bem3.Row To 100 'maximale Anzahl Buchungen pro Tag ist 100
If CDate(bem4.Sheets("Kasse").Cells(I, 7).Value) = Date Then
leereZeile = leereZeile + 1
bem4.Sheets("Kasse").Rows(I).Copy Destination:= _
bem5.Sheets("Tabelle1").Rows(leereZeile)
Else
End If
Next I
Else
End If
End Sub

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige