0

Excelでマクロを使用してセル範囲を非表示にする必要があります。C11 には、列の非表示を開始する必要がある列インデックスが含まれています。

Sub test()

Dim i As Integer
Dim j As Integer


Dim rocket As Range


i = Range("c11").Value
j = 12

rocket = Range(Cells(5, i), Cells(5, j))

Range("Rocket").Select

Selection.EntireColumn.Hidden = True


End Sub

コードで予期しないエラーが発生しています。私は初心者なので、何をする必要があるのか​​ わかりません..

4

2 に答える 2

1

コードを機能させるためのツリー手順:

1位。Set必要なキーワードを適切な行に追加します。

Set rocket = Range(Cells(5, i), Cells(5, j))

2番目。Rocket variable範囲を表すため、この方法で呼び出す必要はありません。

Range("Rocket").... 

しかし

rocket....

3番目。可能な限り避けSelect methodてくださいSelection object。したがって、最後の 2 行は次の 1 行に置き換えられます (これは 2 番目のステップも実装します)。

rocket.EntireColumn.Hidden = true
于 2013-08-07T05:41:23.657 に答える
0

その最後の答えは素晴らしかったです!参考までに、Excel 2007 で機能したものを次に示します。最初の行は常に 3 ですが、最後の行は変数である必要がありました。それが私が問題を抱えていたところです。これで解決しました!「End If」の前の最後の 4 行が機能します。お役に立てれば!

Dim RowsToHide As Range
Dim RowHideNum As Integer

' Set Correct Start Dates for Billing in New File
Workbooks("----- Combined_New_Students_Updated.xlsx").Activate
Sheets("2015").Activate
StartDateLine1 = Format(START_DATE_1, "ww") - 1 ' Convert Start Date to Week Number
StartDateLine1 = (StartDateLine1 * 6) - 2 ' Convert Start Date to Line Number
If StartDateLine1 >= "10" Then
 Cells(4, "q").Value = ""
 Cells(StartDateLine1, "q").Value = STATUS_1
 Cells(StartDateLine1, "z").Value = "START DATE " + START_DATE_1
 RowHideNum = StartDateLine1 - 2
 Set RowsToHide = Range(Cells(3, "a"), Cells(RowHideNum, "ab"))
 RowsToHide.Select
 RowsToHide.EntireRow.Hidden = True
End If
于 2015-06-21T16:30:51.763 に答える