Excel VBA:范围描述的变量类型是什么?

Excel VBA:范围描述的变量类型是什么?,excel,vba,Excel,Vba,我的代码查找具有特定标题的列的列数,查看文件的长度,并基于此生成范围。例如: Set wb1 = ActiveWorkbook Set ws1 = wb1.Worksheets("Sheet1") With ws1 FinalColumn = .Cells(1, .Columns.Count).End(xlToLeft).Column FinalRow = .Range("B" & .Rows.Count).End(xlUp).Row

我的代码查找具有特定标题的列的列数,查看文件的长度,并基于此生成范围。例如:

    Set wb1 = ActiveWorkbook
    Set ws1 = wb1.Worksheets("Sheet1")

    With ws1

    FinalColumn = .Cells(1, .Columns.Count).End(xlToLeft).Column
    FinalRow = .Range("B" & .Rows.Count).End(xlUp).Row
    For j = 1 To FinalColumn
                   .Cells(1, j).Value = "FolderId" Then
                            FolderId_column = j
                    End If
     Next j
     Total_Folder_Column = FinalColumn + 1
     range_FolderId_Fixed = .Cells(2, FolderId_column).Address & ":" & .Cells(FinalRow,  FolderId_column).Address
     range_FolderId_Cell = .Cells(2,FolderId_column).Address(RowAbsolute:=False,ColumnAbsolute:=False)
     range_Total_Folder_Fixed = .Cells(2, Total_Folder_Column).Address & ":" & .Cells(FinalRow, Total_Folder_Column).Address

     .Range(range_Total_Folder_Fixed).Formula = "=SUMIF(" & range_FolderId_Fixed & "," & range_FolderId_Cell & "," & range_Total_Folder_Fixed & ")"

     End With
我的问题是我不知道如何定义变量的DIM,比如range\u FolderId\u Cell

这些是字符串或范围类型还是其他类型

Dim range_FolderId_Fixed As ???
Dim range_FolderId_Cell As ???
我猜

 Dim FinalRow As Long

谢谢。

Dim range\u FolderId\u固定为字符串

Dim range\u FolderId\u固定为字符串

在您的情况下,应该使用此变量声明

Dim range_FolderId_Fixed as String
提示-如果您不知道应该使用哪种变量类型,可以通过以下方式进行检查:

'Delcare as variable
Dim range_FolderId_Fixed as Variant
' after you set the value in your code
range_FolderId_Fixed = ...
'check automatic assignment in this way
Debug.Print TypeName(range_FolderId_Fixed)

因此,在即时窗口中,您将获得您的情况下的
字符串。接下来,您可以返回代码并将
变量
更改为
字符串

,在您的情况下,您应该使用此变量声明

Dim range_FolderId_Fixed as String
提示-如果您不知道应该使用哪种变量类型,可以通过以下方式进行检查:

'Delcare as variable
Dim range_FolderId_Fixed as Variant
' after you set the value in your code
range_FolderId_Fixed = ...
'check automatic assignment in this way
Debug.Print TypeName(range_FolderId_Fixed)

因此,在即时窗口中,您将获得您的情况下的
字符串。接下来,您可以返回代码并将
变量
更改为
字符串

变暗范围\u FolderId\u固定为范围?变暗范围\u FolderId\u固定为字符串@bamie9l我希望有一个“昏暗的……范围!”:)好了,你去吧,@KazJaw提供了权威。谢谢尺寸范围\u折叠\u固定为范围?尺寸范围\u折叠\u固定为字符串@bamie9l我希望有一个“昏暗的……范围!”:)好了,你去吧,@KazJaw提供了权威。谢谢非常感谢你的回答!非常感谢你的回答!Dim myvar作为变量与Dim myvar作为变量不同吗?我的错误应该是
作为变量
-我刚刚改进了我的代码。我只是运行了它,没有看到任何来自调试的消息。消息将显示在哪里?确定找到它。即时窗口。谢谢。Dim myvar作为变量与Dim myvar作为变量不同吗?我的错误应该是
作为变量
-我刚刚改进了我的代码。我只是运行了它,没有看到任何来自调试的消息。消息将显示在哪里?确定找到它。即时窗口。谢谢