PDA

Vollständige Version anzeigen : Fehler 1004


BB67
28.03.2012, 15:54
Hallo,
ich komme einfach nicht weiter. Der Code unten funktioniert wunderbar, bis auf eine Sache. Eine Datei öffnet ein andere Datei, geht zurück und kopiert sich Daten. Jetzt zum Problem, es funktioniert alles bis auf die Zeile, an der ich den Courser auf Zelle B7 platzieren möcht. Da kommt immer Laufzeitfehler 1004.
Was mach ich falsch???

Danke im Voraus!
Bernd





Private Sub CommandButton1_Click()

ChDir "R:\operations\transfer\Maintenance\APU ESTA"
Workbooks.Open Filename:= _
"R:\operations\transfer\Maintenance\APU ESTA\IH-Auftragsformular.xls"

Windows("Wartungsliste ESTA.xls").Activate
Range("A5").Select

Windows("IH-Auftragsformular.xls").Activate
Worksheets("IH-Auftragsliste").Select

Range("B7").Select >>> Hier kommt immer der Laufzeitfehler 1004

End Sub

Beverly
28.03.2012, 16:13
Hi Bernd,

und was genau sagt der Debugger?

<hr width="20%" align="left"><img src="http://excel-inn.de/images/grusz.gif" height=35" align="left" alt="Grußformel"><a href="http://excel-inn.de/" onclick="window.open(this.href);return false"><img border="0" src="http://excel-inn.de/images/logo1.gif" height=35" align="middle" alt="Beverly's Excel - Inn"></a>

Hajo_Zi
28.03.2012, 16:26
verzichte auf select,activate usw. Das ist in VBA nicht notwendig. Der Cursor ist kein Hund der überall rumgeführt werden muss.
Bei einem CommandButton, kannst Du keine Zelle auswählen.

<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>

HWM
28.03.2012, 19:15
Hallo Bernd,
Hier mal ein Beispiel, das Dir vielleicht hilft.
Gruß
Hartwig

EarlFred
28.03.2012, 19:29
Hallo Bernd,

gewöhn Dir am besten die "Activaterei und Selecterei" ganz schnell ab, dafür eine saubere Referenzierung an!

Angabe Bezug: (Application.)Workbook.Worksheet.Range.

Dein Code steht sicher im Klassenmodul einer anderen Tabelle. Range() ohne weitere Referenzierung bezieht sich also auf das besagte Blatt (also nicht zwangsläufig das aktive). Auf einem nichtaktiven Blatt kann aber nichts "selected" werden.

Lies Dir Deinen alten Thread nochmal durch - da steht schon vieles drin.
http://www.ms-office-forum.de/forum/showthread.php?t=287869

Grüße
EarlFred