vb,vbA操作EXCEL怎么把指定数据复制到另一工作表符合条件的相应位置?
怎么实现对数据库的调取并修改,但不在数据库中直接修改,(注:数据库工作表除序号列A列不变外,对应的B,C,D,、、、在修改工作表中通过输入序号变量调取相应信息,修改姓名、...
怎么实现对数据库的调取并修改,但不在数据库中直接修改,(注:数据库工作表除序号列A列不变外,对应的B,C,D,、、、在修改工作表中通过输入序号变量调取相应信息,修改姓名、地址等值后保存到数据库对应序号行对应列,实际数据库有近40多个列上千行,序号是连续且唯一的,这里只列举了三个列,谢谢!)另外,现在只解决了输入序号调出相关信息即第三行我可以用函数调取,差保存修改值这步
展开
2个回答
展开全部
Sub 修改并保存()
Dim I
X = WorksheetFunction.Match([B1], Sheets("基础数据").Range("A:A"), 0)
Range("A3:D3").Copy Sheets("基础数据").Cells(X, "a")
Sheets("基础数据").Select
Sheets("基础数据").Range("a" & X & ":" & "d" & X).Interior.ColorIndex = 3 '修改过的区域填充红色
End Sub
代码复制到 修改表里
追问
因为修改表里是套用了公式的,点击修改后,基础数据库里被修改的部分变成函数公式了,所以需要填充为值,也就是基础数据里都是不带公式的,(为方便查看以往数据,所以用笨办法通过函数调用要修改序号的行的数据库数据,所以修改表中所看到的实际是公式或函数调取的,通过输入序号数频繁调取基础数据查看并修改保存)
追答
Sub 修改并保存()
Dim x
x = WorksheetFunction.Match([B1], Sheets("基础数据").Range("A:A"), 0)
arr = Range("A3:D3")
Sheets("基础数据").Cells(x, "a").Resize(1, 4) = arr
Sheets("基础数据").Select
Sheets("基础数据").Range("a" & x & ":" & "d" & x).Interior.ColorIndex = 3 '修改过的区域填充红色
End Sub
展开全部
Sub 修改()
Dim i%,j%
For i=2 to 5000
if sheets(2).cells(i,"A")=sheets(1).cells(1,"B") then
sheets(2).cells(i,"B")=sheets(1).cells(2"B")
sheets(2).cells(i,"C")=sheets(1).cells(2"C")
sheets(2).cells(i,"D")=sheets(1).cells(2"D")
end if
Next i
End Sub
Dim i%,j%
For i=2 to 5000
if sheets(2).cells(i,"A")=sheets(1).cells(1,"B") then
sheets(2).cells(i,"B")=sheets(1).cells(2"B")
sheets(2).cells(i,"C")=sheets(1).cells(2"C")
sheets(2).cells(i,"D")=sheets(1).cells(2"D")
end if
Next i
End Sub
追答
OK了,刚才漏了“,”。
Sub 修改()
Dim i%,j%
For i=2 to 5000
if sheets(2).cells(i,"A")=sheets(1).cells(1,"B") then
sheets(2).cells(i,"B")=sheets(1).cells(2,"B")
sheets(2).cells(i,"C")=sheets(1).cells(2,"C")
sheets(2).cells(i,"D")=sheets(1).cells(2,"D")
end if
Next i
End Sub
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询