Sub cyts()
Dim x As Integer
Do While Cells(x, 1) = ""
x = x + 1
Loop
MsgBox x
End Sub
正解是16
x 没有赋初值,则使用默认值 0。但在 Excel 中,行标(列标也相同)是不可能小于 1 的,所以,运行到 Cells(x,1) 肯定出错。
1 个小的提醒,在 Excel 中行号是长整型数,最好将它声明成 Long 型。
使用 Excel 自身的 COUNTBLANK 函数或许更高效:
Sub test()
首先x没有赋值,所以缺省为0,而cells(0,1)会提示400错误。
其次,这段代码是统计表格第一行出现内容的行号是多少。比如你这个,在不错的情况下会返回2。
如果要代码,可以写一段给你。
Sub cyts()VBA 找出空行的行数 我这样写错在哪了
x 没有赋初值,则使用默认值 0。但在 Excel 中,行标(列标也相同)是不可能小于 1 的,所以,运行到 Cells(x,1) 肯定出错。1 个小的提醒,在 Excel 中行号是长整型数,最好将它声明成 Long 型。使用 Excel 自身的 COUNTBLANK 函数或许更高效:Sub test()Dim LastRow As LongDim x As Lon...
EXCEL的VBA寻找有数字或者没数字的单元格
按照楼主的逻辑,这个VBA不怎么复杂,不过以下几点请确认:插入行的话,其他列的数据会一起下移,而楼主指定的插入位置,是在【(起始有数据的单元格开始往下计数不超过4个空单元格时)的第一个有数据的单元格】的上方。强调这个,是因为插入位置的不同,会影响到其他列的数据的位置 如果数据不是那么...
VBA 删除整列代码怎么弄,我码的不对啊
你测试的数据应该是比如1到5都有数据;你程序设定的Hx的初始值是1,第一次折行时Max = Cells(Rows.Count, HX).End(xlUp).Row,由于第一列有数据,你取得最大行数比如5,即max=5,因为不等于1所以直接执行清除数据操作;第二次执行时,由于第一列数据已经被清除,所以max=1,执行If Max = ...
VBA找出一列中最后一个非空单元格
Cells(65536, ColumnNo).End(xlUp).Row 有行号列号,搞定。相当于手选该列最后一格,再按下END+UP 组合键.
怎么利用Excel表格中的VBA得到最大非空行数
1. 打开电脑后,找到准备好的excel表格打开。2. 依次选择上方菜单栏的“开发工具”---“Visual Basic”。3. 如图,进入VBA编辑界面中,双击左侧数据所在的工作表,将在右侧代码编辑区显示。4. 接下来输入代码:sub 鱼木混猪()msgbox range(A65536).end(3).row end sub 代码的意思即将光标定位在A...
Excel如何利用VBA的宏功能删除空行和指定字符的行?
最后又说:但是如果A2只是a,删除整行。这是矛盾的 还有,没说明白,是删除数据,还是删除单元格?Public Sub RowDele()Dim H As Long, i As Long, a, b H = Range("A65536").End(xlUp).Row a = Array("A", "a", "@", "#", "") '可以在这里增加其他字符 b = "|" & Join...
excel VBA 下面这段代码我编了为了把B列的空白行删除,可是搞不清楚为什 ...
你这个代码如果没有连续空行是可以循环的 但有时就只能一块删一行,多余的会跳过.改成这样就如你所愿了:Sub 删除空白行改()Dim x As Long x = 1 While x < Range("B65536").End(xlUp).Row If IsEmpty(Cells(x, 2)) Then Cells(x, 2).EntireRow.Delete: x = x - 1 x = x + ...
EXCEL VBA的代码问题?
End(XX).Row这个函数它主要是查找最后一个非空单元格。End后面括号内XX有4种参数代表方向:xlup,xldown,xltoleft,xltoright 所以它不能用来实现非空行数。End(xlDown).Row效果如下,你会看到它的结果是6,xlDown是从1往下找,遇到的第一个空单元格就返回。xlDown效果如下,它是A列最后一行开始往上找,...
1在EXCEL怎么将部分空白的列直接删除附上图片如下:
Sub DeleteEmptyRow()'删除第1行到第201行之间C列后没有值的空行,你看9001在哪一列,就把c改成哪一列就行 '如果行数大于201或者不是从第一行开始,你可以自己改。例如改为A3:A1000 Range("C1:C201").SpecialCells(4).EntireRow.Delete End Sub 这是VBA如果不知道怎么执行,你可以查下帮助,...
如何知道EXCEL中已经编辑过的单元格的行数或者列数的最大值?
公式的话 =max(( row(a:a) )*( a:a<>""))ctrl + shift + 回车 宏的话是有函数,没用过;路过