[英]Method 'Range' of object '_Worksheet' failed in Excel VBA?
好吧,首先讓我說我在這方面是個菜鳥。 我正在按照這個循序漸進的視頻進行操作,但我仍然找到了一種以某種方式搞砸它的方法。 我試過閱讀相關問題,但我真的不太了解 VBA 來理解答案。
基本上,我正在嘗試(但失敗了)創建一個“員工經理”。 在視頻的 9:44 左右,解說員說我們需要創建一個宏來根據我們單擊的選項卡來隱藏和顯示特定的單元格。
這是我的 Sheet1 代碼:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("E4:H4")) Is Nothing Then
Range("B2").Value = Target.Column
Range("F2").Select
SwitchHTabs
End If
End Sub
我在模塊下有這段代碼,宏名為 SwitchHTabs:
Option Explicit
Sub SwitchHTabs()
Dim SelCol As Long
Dim FirstRow As Long
SelCol = ActiveCell.Column
With Sheet1
.Range("5:84").EntireRow.Hidden = True
FirstRow = 5 + ((SelCol - 5) * 20)
.Range(FirstRow & "." & FirstRow + 19).EntireRow.Hidden = False 'This is the line with the error
End With
End Sub
當我嘗試運行代碼時彈出此錯誤:
當我單擊“調試”時,它突出顯示了這行代碼:
我哪里搞砸了? 我正在使用 Excel 2016。
比較該子中的兩條Range
線:
.Range("5:84").EntireRow.Hidden = True 'Works
.Range(FirstRow & "." & FirstRow + 19).EntireRow.Hidden = False 'Doesn't Work
為了論證起見,我們假設FirstRow
為 1,然后處理第二行代碼:
.Range("5:84").EntireRow.Hidden = True 'Works
.Range("1.20").EntireRow.Hidden = False 'Doesn't Work
希望現在更容易看出您使用句號代替冒號。
( .Rows("5:84").Hidden
- 您可以使用.Rows("5:84").Hidden
來代替.EntireRow
的需要)
.Range("C;BE").EntireColumn.Hidden = True.Range("C;BE").Columns.Hidden = True 都不起作用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.