在EXCEL中如何使用宏将数据写入指定的表格
excel文件中有三个表,表1,表2,表3
在表1中A2~A500,B2~B500中存有数值型数据
在表2中A2~A500,B2~B500中存有数值型数据
请按以下要求编写宏
(1)
列号要使用变量liehao,变量取值范围为1~2,分别表示A列与B列。
行号要使用变量hanghao,变量取值范围为2~500,分别表示第2行到第500行。
(2)
将“表1”的A2与“表2”中A2相加,并将结果保存在“表3”的A2中
将“表1”的A3与“表2”中A3相加,并将结果保存在“表3”的A3中
..............
将“表1”的A500与“表2”中A500相加,并将结果保存在“表3”的A500中
将“表1”的B2与“表2”中B2相加,并将结果保存在“表3”的B2中
将“表1”的B3与“表2”中B3相加,并将结果保存在“表3”的B3中
..............
将“表1”的B500与“表2”中B500相加,并将结果保存在“表3”的B500中
使用循环嵌套,在表3中在A列中从上到下保存数据,然后在B列中从上到下保存数据 展开
推荐于2016-10-03 · 知道合伙人软件行家
举例说明。
有数据表A列及B列,要求将A列数据排除B列后写入到D列。
表格初始数据如图:
编制代码如下:
Sub 数据排除()
Dim mys As String
Dim I, J As Integer
Dim b As Object
mys = "数据排除"
Set b = CreateObject("Scripting.Dictionary")
Sheets(mys).Select
I = 2
Do While Cells(I, 2) <> "" '将名单放入字典
m_key = Cells(I, 2)
M_ITEM = I - 1
If Not b.Exists(m_key) Then
b.Add m_key, M_ITEM
End If
I = I + 1
Loop
J = 2 '记录C列写入数据的最新行号
I = 2
Do While Cells(I, 1) <> "" '将A列数据排除B列后存入C列
m_key = Cells(I, 1)
If Not b.Exists(m_key) Then
Cells(J, 3) = m_key
J = J + 1
End If
I = I + 1
Loop
End Sub
运行该宏后,结果如图:
以下是代码,后附文件。
Public Sub jisuan()
Dim Hanghao As Long
Dim Liehao As Long
For Liehao = 1 To 2
For Hanghao = 2 To 500
Sheets("表3").Cells(Hanghao, Liehao).Value = Sheets("表1").Cells(Hanghao, Liehao).Value + Sheets("表2").Cells(Hanghao, Liehao).Value
Next Hanghao
Next Liehao
End Sub
表3按钮,可运行代码。
按钮怎么添加的?
在菜单空白区域,点右键,选窗体!
在附件的Sheet3中点击按钮看看效果。