我正在運行以下宏來復制兩個隱藏作業表上的公式。最初,我在不隱藏作業表的情況下進行測驗,并且代碼(不包括后面添加的 .visable 語法)運行良好。但是,當我隱藏作業表時,宏不起作用。
我已經嘗試了一些代碼來解決這個問題,但沒有任何運氣。我不擅長 VBA,而且我確信這是我遺漏的一些簡單的東西。
本質上,這兩個作業表總是隱藏的,我需要腳本仍然運行。我的代碼(不運行取消隱藏然后隱藏嘗試):
Sub TestMacro()
' Whse Tab
Sheets("Whse").Visable = True
Sheets("Whse").Select
LastRow = Range("A" & Rows.Count).End(xlUp).Row
Range("K2") = "=IF(A2=1,J2,J2 K1)"
Range("K2:K" & LastRow).FillDown
Range("L2") = "=H2-K2"
Range("L2:L" & LastRow).FillDown
Range("M2") = "=IF(L2>0,J2,J2 L2)"
Range("M2:M" & LastRow).FillDown
Range("N2") = "=IF(M2>0,1,2)"
Range("N2:N" & LastRow).FillDown
Sheets("Whse").Visable = False
' AllWhse Tab
Sheets("AllWhse").Visable = True
Sheets("AllWhse").Select
LastRow = Range("A" & Rows.Count).End(xlUp).Row
Range("J2") = "=IF(A2=1,I2,I2 J1)"
Range("J2:J" & LastRow).FillDown
Range("K2") = "=G2-J2"
Range("K2:K" & LastRow).FillDown
Range("L2") = "=IF(K2>0,I2,I2 K2)"
Range("L2:L" & LastRow).FillDown
Range("M2") = "=IF(L2>0,1,2)"
Range("M2:M" & LastRow).FillDown
Worksheets("AllWhse").Visable = False
' Refresh Workbook
ActiveWorkbook.RefreshAll
End Sub
我只需要幫助編輯上述內容,以便在隱藏作業表時運行主代碼。
謝謝!
uj5u.com熱心網友回復:
在隱藏的作業表上運行宏
- 確實,您無法選擇隱藏的(不是Visible)作業表,但這并不意味著您無法修改它。
Option Explicit
Sub TestMacro()
Dim wb As Workbook: Set wb = ThisWorkbook
Dim LastRow As Long
With wb.Worksheets("Whse")
LastRow = .Range("A" & .Rows.Count).End(xlUp).Row
.Range("K2:K" & LastRow).Formula = "=IF(A2=1,J2,J2 K1)"
.Range("L2:L" & LastRow).Formula = "=H2-K2"
.Range("M2:M" & LastRow).Formula = "=IF(L2>0,J2,J2 L2)"
.Range("N2:N" & LastRow).Formula = "=IF(M2>0,1,2)"
End With
With wb.Worksheets("AllWhse")
LastRow = .Range("A" & .Rows.Count).End(xlUp).Row
.Range("J2:J" & LastRow).Formula = "=IF(A2=1,I2,I2 J1)"
.Range("K2:K" & LastRow).Formula = "=G2-J2"
.Range("L2:L" & LastRow).Formula = "=IF(K2>0,I2,I2 K2)"
.Range("M2:M" & LastRow).Formula = "=IF(L2>0,1,2)"
End With
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/357722.html
上一篇:如何訪問打字稿中的組件
