我被下面的代码所困扰
Dim xTRrow as Integer
Dim xTitle as String
Dim xSht as Worksheet
xTRrow = xSht.Range(xTitle).Cells(1).Row我想知道最后一行是做什么的。特别是.Row。在这种情况下,如何逐行运行VBA代码以了解特定代码行的作用?我想密码有问题吧。我尝试过显示xTRrow,它应该是一个整数。但屏幕上什么也没跳。我想知道.Row的最后一个选择是什么。
发布于 2018-11-23 15:52:18
除了使用F8执行代码外,还可以使用debug.print显示给定行之前和之后相关变量的值。也就是说,当您使用VBA时,您将能够识别什么是对象和方法。假设代码运行良好,并且所有变量和对象都被调暗并正确设置:
xSht.Range(xTitle).Cells(1).Row细分如下:
xSht:包含工作表的变量(我们不知道哪个工作表,因为您的问题中缺少了代码的那一部分)。
xTitle:可能是named range的名称(我们不知道这个范围,因为您的问题中缺少了代码的那一部分)。
Cells(1):上述命名范围的单元格no;1
Row:所讨论的单元格的行
因此,xTRrow应该是所讨论的单元格的行号。(顺便说一句,它确实应该是Dimmed,因为Long可以有比Integer允许的更多的行
发布于 2018-11-23 16:42:12
排行故障
描述
变量'xTRrow‘等于工作表中的'1'st’单元‘范围<代码>E29<代码>E 110xTitle<代码>E 211’的‘1’st‘’的‘行’。您可以通过定义丢失的数据来使其工作。
“守则”
Option Explicit
Sub RowTrouble()
Dim xSht As Worksheet ' A Worksheet
Dim xTitle As String ' A Range Address (or a Named Range)
Dim xTRrow As Long ' A Row - rows are best declared as Long.
' ' Your code (not yet working)
' xTRrow = xSht.Range(xTitle).Cells(1).Row
' Define the range
xTitle = "A1:D1"
' Create a reference to the worksheet with the name "Sheet1"
Set xSht = ThisWorkbook.Worksheets("Sheet1")
' Your code working
xTRrow = xSht.Range(xTitle).Cells(1).Row
' To display the result in the immediate window
Debug.Print "The first row in my workbook's range (" & xTitle _
& ") is equal to " & xTRrow & "."
' To display the result in a message box:
MsgBox "The first row in my workbook's range (" & xTitle _
& ") is equal to " & xTRrow & "."
' To display the result in the sheet:
xSht.Range("A1") = "The first row in my workbook's range (" & xTitle _
& ") is equal to " & xTRrow & "."
End Sub多么
打开一个新的工作表。转到并在工作表中插入一个新模块。将示例复制/粘贴到其中。打开立即窗口,以便能够看到结果。运行代码。
逐行
在Debug下逐行循环代码,选择步骤进入,或者只使用'F8':

https://stackoverflow.com/questions/53449441
复制相似问题