关于VBA在EXCEL中的应用,求一实例
发布网友
发布时间:2022-04-27 12:17
我来回答
共6个回答
热心网友
时间:2023-09-18 09:24
zhouziyan2001 ,离线解释:
Dim i As Long, j
'定义变量
For i = 1 To Sheet8.Range("a65536").End(xlUp).Row
'运算从Sheet8的第一行到第一列的最后一个有内容的单元格所在列.
'对后面内容,你可以查找END()的帮助来理解
Sheet3.Cells(i, 1).Formula = "=MATCH(Sheet8!A" & i & ",Sheet1!A:A,0)"
'本句为了节省代码,直接借用了EXCEL的公式来查找符合条件的单元格所在的行;
'函数MATCH就是查找函数.
'否则,要自己编写查找循环代码,由于VBA是解释执行,会导致效率很低,
'Formula就是把后面的公式写到该单元格中并运算.
j = Sheet3.Cells(i, 1): Sheet3.Cells(i, 1) = ""
'找到后将值(也就是查找到的行)传递给变量j,
If IsNumeric(j) Then
Sheet1.Cells.Rows(j).Cut
Sheet3.Rows(i).Insert
Sheet1.Cells.Rows(j).Delete
End If
'IF语句用来将该行复制,粘贴在SHEET3的相关行中,结束后将该行删除.
'如果在同一工作表中,该三行语句可简化为: Cells.Rows(j).Cut Rows(i)
Next i
'运行下一行
热心网友
时间:2023-09-18 09:25
运行下面子程序(宏):假定ID号都在第一列
Dim i As Long, j
For i = 1 To Sheet8.Range("a65536").End(xlUp).Row
Sheet3.Cells(i, 1).Formula = "=MATCH(Sheet8!A" & i & ",Sheet1!A:A,0)"
j = Sheet3.Cells(i, 1): Sheet3.Cells(i, 1) = ""
If IsNumeric(j) Then
Sheet1.Cells.Rows(j).Cut
Sheet3.Rows(i).Insert
Sheet1.Cells.Rows(j).Delete
End If
Next i
你要VBA代码,我以为你对VBA能了解呢!
这样吧:你依次点: 工具→宏→宏:宏名:任意是一个,如 AAA 点击 创建
会新出一个窗口,把代码复制到光标处,然后按F5运行。
热心网友
时间:2023-09-18 09:25
http://www.4oa.com/Article/html/10/61/361/2005/654.html
自己看下,就那几个OBJ,很简单
asp和vba用的都是vbs
热心网友
时间:2023-09-18 09:26
这个得看到你的表格的具体样式才可以的,因为不知道你的ID号都在那一列
你传张截图或者把表格发我邮箱:coolbi5@163.com
我帮你弄
热心网友
时间:2023-09-18 09:27
可把你实际要做的表发给我yymhy@163.com
帮助做一下,加上注释再发给你,这样效率高些。
热心网友
时间:2023-09-18 09:27
把文件发过来,做个包你满意的!
hi 我吧