PDA

Vollständige Version anzeigen : laufzeitfehler 91


calypso
10.01.2014, 17:08
Hallo Zusammen,

ich habe folgendes Problem: Im Excel 2003 ginge es ohne Variablendeklaration, nach der Installation Excel 2010 funktioniert mein Code nicht mehr: es kommt laufzeitfehler 91 "Objektblockvariable oder With-Blockvariable nicht festgelegt".
Um diesen Fehler zu lösen versuche ich die Objektvariablen zu deklarieren, es ist mir aber noch nicht gelungen.

Könntet Ihr mir Tipps dazu geben?

Vielen Dank im Voraus und ein schönes Wochenende

calypso



Code:

Sub DatenImport()

Dim Quelle As Object
Dim Ziel As Object
Dim i, j As Integer

If Application.Dialogs(xlDialogOpen).Show = False Then
Exit Sub
Else

For i = 1 To 20
For j = 1 To 20
Set Quelle = Application.ActiveWorkbook.Worksheets("KW").Cells(i, j)
Set Ziel = Application.Worksheets("Ziel").Worksheets("KW").Cells(3, 3)
If Quelle.Value Like "Mo" Then
Quelle.Activate
ActiveCell.Select
ActiveCell.Offset(4, 0).Copy
Worksheets("Ziel").Worksheets("KW").Cells(3, 3).PasteSpecial_ Paste:=xlPasteValues
End If
Next
Next
End If
End Sub

Hajo_Zi
11.01.2014, 10:06
nur wenige können das Testen, da Sie die entsprechenden Dateien sehen, ich mache mir nicht die Mühe die Datei nachzubauen.
Ich baue keine Datei nach, die Zeit hat schon jemand investiert.
Ein Nachbau sieht bestimmt anders aus als das Original.
Ein Link zur Datei wäre nicht schlecht.
Der Dateiname sollte was mit dem Problem zu tun haben.
Ich habe mir z.B. einen Ordner angelegt in dem ich alle Dateien aus dem Internet speichere. Bei Dateinamen wie Test..., Mappe…, Beispiel… wird eine vorhandene überschrieben.
Schaue hier, Dateiname im Beitrag (http://www.ms-office-forum.net/forum/showthread.php?t=58538&highlight=Beitrags-Nr#3)
das ist nun das Word -Forum, das gilt hier aber auch.
Mal ein Zitat von Hasso:
"Stell dir mal vor, deine Oma schreibt dir zum Geburtstag und sagt, die Geschenke findest du im Päckchen. Darin sind dann aber nur Bilder von den Geschenken - dann wärst du genauso begeistert wie wir jetzt."

<img src="http://Hajo-Excel.de/images/grusz1.gif" align="middle" height="40" alt="Grußformel"><a href="http://Hajo-Excel.de/index.htm" onclick="window.open(this.href);return false"><img border="0" src="http://Hajo-Excel.de/images/logo_hajo3.gif" align="middle" height="40" alt="Homepage"></a>

rushifell
11.01.2014, 11:59
falls bei dir da kein zeilenumbruch ist, könnte vielleicht das die ursache sein:

Worksheets("Ziel").Worksheets("KW").Cells(3, 3).PasteSpecial_ Paste:=xlPasteValues
____________________________________________________________^

Hajo_Zi
11.01.2014, 12:03
dann fehlt da aber auch eine Leerstelle vor "_"

<a href="http://Hajo-Excel.de/index.htm" target="_blank" title="Hajo's Excelseiten">Gruß Hajo</a>

calypso
12.01.2014, 15:40
Hallo Zusammen,

Enschuldigung - Freitagabend....

hier ist nochmal der Code und die Dateien



Sub DatenImport()

Dim Quelle As Object
Dim Ziel As Object
Dim i, j As Integer

If Application.Dialogs(xlDialogOpen).Show = False Then
Exit Sub
Else

For i = 1 To 20
For j = 1 To 20
Set Quelle = Application.ActiveWorkbook.Worksheets("KW").Cells(i, j)
Set Ziel = Application.Workbooks("Ziel").Worksheets("KW").Cells(3, 3)
If Quelle.Value Like "Mo" Then
Quelle.Activate
ActiveCell.Select
ActiveCell.Offset(4, 0).Copy
Workbooks("Ziel").Worksheets("KW").Cells(3, 3).PasteSpecial Paste:=xlPasteValues
End If
Next
Next
End If
End Sub




die Originalversion ist im Intranet geblieben. Jetzt beim Versuch das nachzubilden kommt keine Fehlermeldung. Woran könnte das liegen?...

Best,

calypso

Hajo_Zi
12.01.2014, 15:50
schreibe für Workbooks("Ziel") die ThisWorkbook
Da es keine Datei Ziel gibt sondern nur Ziel.xlsm

<a href="http://Hajo-Excel.de/index.htm" target="_blank" title="Hajo's Excelseiten">Gruß Hajo</a>

calypso
12.01.2014, 16:24
Hallo Hajo_Zi,

vielen Dank!

Ich probiere das morgen mit Originaldatei. Jetzt funktioniert!

Viele Grüße

calypso

calypso
13.01.2014, 08:27
Guten Mprgen Zusammen,

jetzt bin ich am Arbeitsplatz, habe den Code ensprechend korrigiert, aber es kommt wieder der Fehler 91.

Was könnte der Grund dafür sein?

Best,

calypso

Hajo_Zi
13.01.2014, 12:38
ich konnte Dein Bild nicht in Excel öffnen.
Das ist eben der Vorteil, wenn das Beispiel mit dem Original übereinstimmt.

Gruß Hajo

calypso
13.01.2014, 13:24
Hi Hajo,

das ist ein SnippingTool-Ausschnitt....
Ich bin mit diesem Fehler ein Stückchen weitergekommen: der Code, den ich zu Hause als Beispiel Geschrieben habe, funktioniert an meinem Arbeitsplatz auch nicht, obwohl es lief gestern einwandfrei. LZF 91 kommt wieder an der gleichen Stelle:

Set Quelle = Activeworkbook.Worksheets("KW").Cells(i, j)

wenn ich Activeworkbook durch

Workbooks("Quelle").Worksheets("KW").Cells(i, j)

ersetze, kommt LZF 9 "Index außerhalb....". ich vermute, es liegt an den EinstellungenExcel 2010. Ich habe gerade getestet die Codes, die in 2003 fuktioniert habe - bei Activeworkbook kommt derselber LZF 91.

Also Activeworkbook und Workbooks("Name") werden nicht erkannt/gefungen

Grüße

calypso

Hajo_Zi
13.01.2014, 13:26
da es keine Datei Quelle gibt. Wie schon im Beitrag #6 geschrieben ist es der gleiche Fehler.

Gruß Hajo

calypso
13.01.2014, 13:58
Hi Hajo,

Funktioniert! Lag an Sicherheitscenter.

Viele Grüße

calypso