
如果是多个,并且不要提示,让它变成行数的变量
Microsoft Excel是微软公司的办公软件Microsoft office的组件之一,是由Microsoft为Windows和Apple Macintosh *** 作系统的电脑而编写和运行的一款试算表软件,最早版本是在1985年开发的。
Microsoft Excel可以进行各种数据的处理、统计分析和辅助决策 *** 作等,具有打开或关闭表格标题行、计算列使用单个公式调整每一行、数据排序和筛选、自定义公式和文本输入等功能。目前,Microsoft Excel被广泛应用于管理、统计财经、金融等众多领域。
在工作表中我们经常使用查找功能,在一列中查找某个内容,查找下一个,那在VBA中我们该如何进行查找呢?
我们希望通过输入班级,点击筛选就能出来想要的内容,这里我忘了在筛选之前先做个清除,所以筛选二班记录时,三班的记录没有被清除掉。
我们要把某个班级的记录筛选出来,那么就希望首先在对应的列里找到某个班级所在的单元格,这里就用到了Find,找到后就把该行复制到对应位置,然后继续查找下一个。我们就可以使用VBA代码:
Sub 筛选()Dim rng1, rng2, rng3 As Range, addr$, adr$Set rng1 = Range("a:a")Find(Range("e6")Value)addr = rng1AddressDo Set rng1 = Range("a:a")FindNext(rng1) adr = rng1Address Set rng2 = Cells(RowsCount, "e")End(xlUp)(2, 1) Set rng3 = rng1EntireRowRange("a1:c1") rng3Copy rng2Loop Until addr = rng1AddressEnd Sub
A列最底端有数据的单元格
[a65536]end(xlup)row
如果是统计每列有多少非空单元格
就要调用COUNTA函数方便些
WorksheetFunctionCountA
(Range("A:A"))
首先没有这个全局变量的哦
通常可以用这句获取最后一行的行号
最后一行行号=SHEETS("SHEET1")CELLS(65536,1)END(XLUP)ROW
注意:1、最大行数不会大于65536用这个数值的好处是可以兼容2003版,如果确定是2007以后,可以将该数值设置为100万。
2、1表示第一列,前提是第一列必须要有数值,如果第一列为空白,则需要修改该参数。
Option Explicit
Sub 发票号查询()
ApplicationScreenUpdating = False '关闭屏幕刷新
Dim j&, m&, k&, i&
j = Sheets("资料信息")[A65536]End(3)Row '计算资料信息表数据总行数
m = Sheets("同一发票号下商品信息")[A65536]End(3)Row '计算同一发票号下商品信息表数据总行数
Sheets("同一发票号下商品信息")Rows("3:" & m + 1)Delete '删除同一发票号下商品信息表第3到最后一个有数据的行
k = 2 '计数器k初始化为2 假设表头有2行,提取的数据copy的位置从第3行开始
For i = 2 To j 'i从第2行循环到资料信息表的最后一行
If Sheets("资料信息")Cells(i, "x") = Sheets("同一发票号下商品信息")Range("B1") Then '如果资料信息表的第i行第x列的值与同一发票号下商品信息表的B1单元格数据相同
k = k + 1 '计数器k的值+1
Sheets("资料信息")Rows(i)Copy Sheets("同一发票号下商品信息")Range("A" & k) '资料信息表第i行复制到同一发票号下商品信息表的A & k单元格 k为计数器的当前值,例如k=3就是A3单元格
End If
Next
[B1]Select
ApplicationScreenUpdating = True '恢复屏幕刷新
End Sub
Function lines(r) 'r 为某单元格,如A1
rWrapText = False
x = rHeight
rWrapText = True
y = rHeight
lines = y / x
End Function
使用方法 lines(range("A1"))
思路:设置该单元格不自动换行,得到此时的高度x,恢复自动换行,得到此时的高度y,行数=y/x
用下replace(sheet1cells(1,1),chr(10),chr(13))
替换一下看看,前面那个是换行符,后面那个是回车符将换行符替换位回车符应该可以吧
呵呵,可惜的是不知道这里的换行是怎么编码的啊
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)