我为以下代码感到困扰
Dim xTRrow as Integer
Dim xTitle as String
Dim xSht as Worksheet
xTRrow = xSht.Range(xTitle).Cells(1).Row
我想知道最后一行是做什么的。特别是.Row
。在这种情况下,如何逐行运行VBA代码以找出特定代码行的作用?我猜代码有问题。我尝试显示xTRrow
,它应该是整数。但是屏幕上没有任何跳跃。我不知道最后一个选项.Row
会做什么。
答案 0 :(得分:1)
除了使用$('.crt-post-c').css('max-height','500px');
$('.crt-post-read-more-button').css('display','none');
$('.crt-post-max-height-read-more').css('background','none');
逐步执行代码外,还可以使用F8
在给定的行之前和之后显示相关变量的值。也就是说,当您使用VBA时,您将能够识别什么是对象和方法。假设代码可以正常工作,并且所有变量和对象都变暗并正确设置:
debug.print
细分如下:
xSht.Range(xTitle).Cells(1).Row
:包含工作表的变量(由于您的问题中缺少代码的一部分,我们不知道该工作表)
xSht
:可能是xTitle
的名称(我们不知道该范围,因为您的问题中缺少该部分代码)
named range
:单元格号;上述命名范围的Cells(1)
1
:相关单元格的行
因此Row
应该是所讨论单元格的行号。 (顺便说一句,实际上它应该xTRrow
被命名为Dim
,因为Excel的行数可能超过Long
允许的行数
答案 1 :(得分:0)
变量“ xTRrow ”等于“ 1 ”第一个“ 单元格” 行”工作表“ xSht ”中“ 范围”,“ xTitle ”中的“>”。您可以通过定义丢失的数据来使其工作。
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
打开一个新的工作表。转到Visual Basic编辑器,然后将新模块插入工作表中。将示例复制/粘贴到其中。打开立即窗口以查看结果。运行代码。
在 Debug (调试)下逐行遍历代码,选择 Step Into (进入)或仅使用“ F8 ”: