我在工作表上分配一个按钮(“NPS”)来计算和复制另一张工作表中的数据(“Pay_Slip”)。我的vba正确计算并复制,但在完成工作后它会跳转到馈纸页,即表格(“Pay_Slip”)。我希望那张父表单即表格('NPS')保持打开状态。帮我查找错误! 我的代码是
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 :(得分:0)
您可以使用此方法将其设置为活动状态:
Sheets("NPS").Activate
虽然这并没有真正回答“为什么”第二张活跃,但它应该让你进入目标线。