2016-04-19 10 views
1

Ich habe ein Problem mit einem Makro verwendet, um Informationen von einem Arbeitsblatt zu einem anderen zu ziehen. Ich kann nicht herausfinden, wie das Makro ein anderes Arbeitsblatt im Arbeitsblatt "CurrentSchedule" aussehen lässt. Wenn ich durch das Makro mit dem ersten (A-Linie) Arbeitsblatt gehe, läuft alles glatt, aber wenn ich versuche, es durch das 2. Blatt (B-Linie) zu laufen, überschreitet es das Zeitlimit. Es wird speziell auf die Linie steckenWie mache ich Makro-Pull-Daten aus verschiedenen Blättern in einer Arbeitsmappe. Excel VBA

"Order = Range (" W1 "). Offset (Count, 0) .Value"

SAPorder = InputBox("Enter SAP Order Number:") 
ProdLine = InputBox("Enter the sheet# of CurrentSchedule that has this SAP order number. Example: A line = 1; B = 2") 
End Select 
Count = 0 'Count is the row in the designated column 
Flag = True 
Do While Flag 
Workbooks("CurrentSchedule.xlsx").Worksheets(ProdLine).Activate 
Order = Range("W1").Offset(Count, 0).Value 
If Order = SAPorder Then 
nme = Range("B1").Offset(Count, 0).Value 
+0

Sie haben nichts qualifiziert. Mit anderen Worten, wie weiß der Computer, welche Arbeitsmappe/Arbeitsblatt Sie möchten? – findwindow

+0

Sie zeigen nur einen Teil der Schleife – Davesexcel

+0

Was haben Sie gesucht? Dies ist eine [sehr häufige] Frage (https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=VBA+data+von+anderen Arbeitsblättern). Aber ja, Sie müssen unbedingt alle Ihre Bereiche qualifizieren ... und den gesamten Code einbeziehen. – BruceWayne

Antwort

0

wegzuwerfen, dass dumme .activate Methode lernen, wie man mit dieser

arbeiten
Sheets("sheetName").range("rangeName/rangeRange")[optional].cells("cellRow","cellColumn") 

es macht Ihre Arbeit viel einfacher, und dann können Sie mit Blatt/Bereich/Zelle als Objekt arbeiten.

Auch wenn Sie Bereich/Zelle ohne Punkt und übergeordnete Ausrichtung verwenden, arbeiten Sie mit aktiven Blatt, die sehr unvorhersehbar sein können. Wenn Sie also die oben genannte vollständige Anweisung verwenden, können Sie keinen Fehler machen.

+0

Danke. Ich werde das untersuchen. Ich bin ehrlich gesagt ziemlich neu mit VBA und dieses Makro war die Art, wie sie diesen Prozess hier bei meinem neuen Job für eine Weile gemacht haben. Ich versuche es aufzuheben und die Probleme damit zu beheben. Ich schätze Ihre Hilfe. – RFerguson

+0

Ja, VBA ist wirklich Schmerzen im Arsch. Ich denke seine Microsoft Rache für etwas ... –

Verwandte Themen