2016-05-13 8 views
1

Ich arbeite mit einer Datenbank-Extraktdatei im xlsx-Format. Die Struktur sieht wie folgt aus:Excel vba findet einen Bereich, kann ihn aber nicht aktivieren

ID  DC1  DC2 ............ DCn 
1  data  data ........... data 
2  data  data ........... data 
3  data  data ........... data 

Ich verwende diesen Code, um die ID-Zelle zu finden und zu aktivieren.

Suche gibt die angeforderte Zelle, aber Activate wirft als Fehler.

Runtime Error 1004 
Activate method of Range class failed. 

Wenn ich in die Extraktdatei gehen und die Header bearbeiten (Wiederholung manuell) dann mein Code wie erwartet funktioniert. Ich habe bereits versucht, ein Extraktdateiformat zu csv zu ändern, aber es gibt den gleichen Fehler. Kann ich irgendetwas mit dem Code tun, um das zu lösen?

Antwort

2

Sie müssen zuerst das Blatt aktivieren:

Set foundSourceRange = Sheets(sourceSheet).Cells.Find(What:=sourceColumn, LookIn:=xlValues, LookAt:=xlWhole) 
Sheets(sourceSheet).Activate 
foundSourceRange.Activate 

Sie können nur .Activate ein Bereich auf dem ActiveSheet Objekt.