怎么用VBA按钮把一行数据填到另外一个表里面
答案:2 悬赏:0 手机版
解决时间 2021-03-20 15:10
- 提问者网友:了了无期
- 2021-03-19 18:34
源表里面有多行记录 没行记录配一个VBA按钮 点击按钮填到目标表中
最佳答案
- 五星知识达人网友:轮獄道
- 2021-03-19 19:37
'首先你把你的一个表改为"源表",存放数据的表改为“目标表”,
'在"源表"加一个按钮命名“保存”其代码如下!
Public Sub 保存()
Dim temp As Integer '定义一个用来保存工作表中单元格数据行数的整型变量
Dim count As Integer '定义一个用来保存调查结果记录行数的整型变量
Dim tenp As Integer
tenp = Sheets("源表").[a2].CurrentRegion.Rows.count
temp = Sheets("目标表").[a1].CurrentRegion.Rows.count
'将用于保存调查数据的工作表Sheet3的记录行数赋给count
count = temp - 1 '工作表中有3行单元格保存字段名
Sheets("源表").Select
Range(Cells(2, 1), Cells(tenp, 9)).Select '在选定的工作表(目标表)选择待保存数据的区域
If Cells(2, 4) > 0 Then
Selection.Copy '对选择的数据区域进行复制操作
Sheets("目标表").Activate '激活保存源数据的工作表
Rows(temp + 1).Select '选择工作表中最后一条记录的下一行单元格区域
ActiveSheet.Paste '粘贴数据
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("源表").Select
Application.CutCopyMode = False '释放进行复制操作的单元格区域
MsgBox "此单己保存成功,请继续!", vbOKOnly, "确定" '以对话框的形式输出信息
Else
MsgBox "不能为空,请正确录入!", vbOKOnly, "确定"
End If
End Sub
'以上代码测试通过!希望我的回答对你有用!
'在"源表"加一个按钮命名“保存”其代码如下!
Public Sub 保存()
Dim temp As Integer '定义一个用来保存工作表中单元格数据行数的整型变量
Dim count As Integer '定义一个用来保存调查结果记录行数的整型变量
Dim tenp As Integer
tenp = Sheets("源表").[a2].CurrentRegion.Rows.count
temp = Sheets("目标表").[a1].CurrentRegion.Rows.count
'将用于保存调查数据的工作表Sheet3的记录行数赋给count
count = temp - 1 '工作表中有3行单元格保存字段名
Sheets("源表").Select
Range(Cells(2, 1), Cells(tenp, 9)).Select '在选定的工作表(目标表)选择待保存数据的区域
If Cells(2, 4) > 0 Then
Selection.Copy '对选择的数据区域进行复制操作
Sheets("目标表").Activate '激活保存源数据的工作表
Rows(temp + 1).Select '选择工作表中最后一条记录的下一行单元格区域
ActiveSheet.Paste '粘贴数据
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("源表").Select
Application.CutCopyMode = False '释放进行复制操作的单元格区域
MsgBox "此单己保存成功,请继续!", vbOKOnly, "确定" '以对话框的形式输出信息
Else
MsgBox "不能为空,请正确录入!", vbOKOnly, "确定"
End If
End Sub
'以上代码测试通过!希望我的回答对你有用!
全部回答
- 1楼网友:舍身薄凉客
- 2021-03-19 20:24
直接设置一个按钮即可:
首先选择某一行,然后点击按钮,自动将这行转移到指定表的最下面去
关键在于获得行数
下面给出伪代码:
option explicit
dim wb as workbook
dim wbt as workbook
dim sh as worksheet
sub btn()
dim i as integer
dim is as integer
init() '初始化
i=getlast() '取得目标工作表最后一行
is=selection.row '取得当前选择行的行数
rows(is & ":" & is).copy wbt.sh.range("a" & i)
end sub
sub init()
set wb=workbooks("源文件.xls")
set wbt=workbooks("目标文件.xls")
set sh=wbt.worksheets("目标工作表-sheet1")
end sub
function getlast(sh as worksheets) as integer
'返回另外一个目标工作表的最后一个空白行
end sub
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯