【问题标题】:Excel VBA: What is the variable type for a description of range?Excel VBA:范围描述的变量类型是什么?
【发布时间】:2013-12-06 00:15:36
【问题描述】:

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

    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

我的问题是我不知道如何定义 range_FolderId_Cell 等变量的 DIM。

这些是 String 或 Range 类型还是其他类型?

Dim range_FolderId_Fixed As ???
Dim range_FolderId_Cell As ???

我猜

 Dim FinalRow As Long

谢谢。

【问题讨论】:

  • 将 range_FolderId_Fixed As Range 变暗?
  • Dim range_FolderId_Fixed As String...!
  • @bamie9l 我希望有一个“Dim ....Range!” :)
  • 好吧,@KazJaw 提供了授权。谢谢!

标签: excel vba


【解决方案1】:

在你的情况下,你应该使用这个变量声明。

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)

因此,您在即时窗口中的情况下会得到String。接下来,您可以回到您的代码并将Variable 更改为String

【讨论】:

  • Dim myvar As Variable 与 Dim myvar As Variant 不同吗?
  • 我的错误,应该是as Variant- 我刚刚改进了我的代码。
  • 我刚刚运行它,我没有看到任何来自调试的消息。消息将出现在哪里?
  • 好的,找到了。即时窗口。谢谢。
【解决方案2】:

Dim range_FolderId_Fixed as String

【讨论】:

  • 非常感谢您的回答!
猜你喜欢
  • 2021-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-11
相关资源
最近更新 更多