2017-05-16 3 views
0

Ich weise einen Knopf auf Blatt ("NPS") zu, um Daten von einem anderen Blatt zu berechnen und zu kopieren ("Pay_Slip"). Mein VBA berechnet und kopiert korrekt, aber nach dem Ausführen der Arbeit springt es zum Zufuhrblatt, d.h. Blatt ("Pay_Slip"). Ich möchte, dass Mutterblatt dh Blatt ("NPS") bleibt offen Helfen Sie mir, den Fehler zu finden Mein Code istNach dem Klicken auf VBA-Taste auf dem übergeordneten Blatt, springt es automatisch zum Zufuhrblatt

Sub NPS() 
Dim i As Integer 
Dim LROW As Long 
Dim LR As Long 

LROW = Sheets("NPS").Range("C200").End(xlUp).Row 
LR = Sheets("Pay_Slip").Range("B500").End(xlUp).Row 

Sheets("Pay_Slip").Unprotect Password:="@" 
Sheets("NPS").Unprotect Password:="@" 

For i = 5 To LROW 
If Len(Sheets("Pay_Slip").Range("B" & i)) = 8 Then 
Sheets("NPS").Range("B" & i + 6).Value = Sheets("Pay_Slip").Range("D" & i).Value 
Sheets("NPS").Range("C" & i + 6).FormulaR1C1 = _ 
     "=INDEX(emp,MATCH(RC[-1],NAME,0),MATCH(R9C3,data,0))" 
Sheets("NPS").Range("D" & i + 6).Value = Sheets("Pay_Slip").Range("AE" & i).Value 
Sheets("NPS").Range("E" & i + 6).Value = Sheets("Pay_Slip").Range("I2:K2").Value 
Sheets("NPS").Range("F" & i + 6).Value = Sheets("Pay_Slip").Range("R" & i).Value 
Sheets("NPS").Range("G" & i + 6).Value = Sheets("Pay_Slip").Range("AH" & i).Value 
Sheets("NPS").Range("H" & i + 6).Value = Sheets("Pay_Slip").Range("AB" & i).Value 
Sheets("NPS").Range("I" & i + 6).Value = Sheets("NPS").Range("F" & i + 6).Value + Sheets("NPS").Range("H" & i + 6).Value 

Else: Sheets("NPS").Range("B" & i + 6 & ":I" & i + 16).ClearContents 

End If 
Next i 

Sheets("NPS").Range("B" & LROW + 7).Value = "Signature" 
Sheets("NPS").Range("B" & LROW + 9).Value = "DDO" & "/" & Range("H7").Value 
Sheets("NPS").Range("G" & LROW + 7).Value = "Signature" 
Sheets("NPS").Range("G" & LROW + 9).Value = "Principal" 

Sheets("Pay_Slip").Protect Password:="@" 
Sheets("NPS").Protect Password:="@" 
End Sub 
+0

Ihr Code funktioniert für mich. Haben Sie irgendwelche 'Change' (oder ähnliche) Ereignisse, die sein könnten Ausführen? – YowE3K

Antwort

0

Nun kann eingestellt werden, es aktiv mit dieser Methode:.!

Sheets("NPS").Activate 

Obwohl das nicht wirklich beantwortet "warum" das zweite Blatt aktiv wird, sollte es Sie auf die Torlinie bringen.

+0

Danke für den Vorschlag –

Verwandte Themen