2

初めて質問するので、お手柔らかにお願いします。

FOR-NEXT ループを使用した条件に基づいて、名前付き範囲内の列を非表示にするマクロを作成しました。結果は常に 2 列で表示されます。

結果の 2 つの列で、計算を行います。

結果として表示される列のvbaを使用して列番号を取得し、それらをオフセット式で使用して計算を行うという問題に直面しています。

誰でも助けることができますか?ありがとう

Public Sub Custom_Report_Monthly()
On Error Resume Next

If Len(Range("Rpt_Type_M").Value) < 1 Then
MsgBox "Select Report Type"
GoTo ExitSub
ElseIf Len(Range("Select_Month").Value) < 1 Then
MsgBox "Select Month"
GoTo ExitSub
End If

ActiveSheet.Range("D_columns").EntireColumn.Hidden = True

If Range("Rpt_Type_M").Value = "Quantity" Then
   For Each c In Range("Titles")
   If c.Value = "Quantity" Then
   c.Columns.EntireColumn.Hidden = False
   End If
   Next
ElseIf Range("Rpt_Type_M").Value = "Sales" Then
   For Each c In Range("Titles")
   If c.Value = "Sales" Then
   c.Columns.EntireColumn.Hidden = False
   End If
   Next
ElseIf Range("Rpt_Type_M").Value = "Cost" Then
   For Each c In Range("Titles")
   If c.Value = "Cost" Then
   c.Columns.EntireColumn.Hidden = False
   End If
   Next
ElseIf Range("Rpt_Type_M").Value = "Sales+Cost" Then
   For Each c In Range("Titles")
   If c.Value = "Sales" Then
   c.Columns.EntireColumn.Hidden = False
   End If
   Next
   For Each c In Range("Titles")
   If c.Value = "Cost" Then
   c.Columns.EntireColumn.Hidden = False
   End If
   Next
End If


For Each c In Range("P_Months")
   If Month(c.Value) <> Range("Select_Month_Num").Value Then
   c.Columns.EntireColumn.Hidden = True
   End If
Next

For Each col In Range("D_columns") ' **this is the block where i am having problem**
   If col.EntireColumn.Hidden = False Then
   MsgBox (Range("col").Column)
   End If
Next

Call Hide_Count_Columns
ExitSub:

End Sub
4

1 に答える 1