想在excel里用VBA,点击按钮复制一行数据到另外一行,可是不知道该怎么写

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了想在excel里用VBA,点击按钮复制一行数据到另外一行,可是不知道该怎么写相关的知识,希望对你有一定的参考价值。

要求是sheet2里面是一行数据,通过sheet1的控件可改变它的值(一张调查表),但是现在我想要将数据全部保存到sheet3中,因为sheet2的里面的数据始终只是一行,所以我想每次点击一个按钮使之依顺序保存到sheet3里面,求VBA的大神,或者office大神,懂的教我一下

代码如下:

Private Sub ComboBox1_Change()
Sheet2.Cells(1, 1).Value = ComboBox1.Value
Dim i As Integer
i = 2
Do While Not i > 100000
If Sheet3.Cells(i, 1) = "" Then
Sheet3.Cells(i, 1).Value = Sheet2.Cells(1, 1).Value
Sheet3.Cells(i, 2).Value = Now()
GoTo lastline
Else
i = i + 1
End If
Loop
lastline:
MsgBox "done!"
End Sub

效果是:

sheet1里面有combobox1, 用户选某值,

sheet2的第一行变成用户选的值,

sheet3的第一非空行追加记录用户值。

参考技术A 假定sheet2里的一行数据在第一行,如果这行数据是表sheet1的按钮控件在改变它,且每点击一次就改变一次,那么在这个按钮的的代码后面(End Sub前)加上下面这句就可将sheet2表中的第一行数据依次复制到sheet3中。
Sheet2.Rows(1).Copy Sheet3.[A65536].End(xlUp).Offset(1, 0)
注意:检测sheet3中已经使用了多少行是用A列检测的,所以A列为关键列,必需要有数据,否则要漏掉一些数据,将A列([A65536])改为每次都有数据的列就不会出问题。如果sheet2中的数据在第二行,将Rows(1)中的1改为2即可。追问

不太明白你的意思,倒是可以填充,只是不能自动往后行里面追加,一直都是填充那一行

追答

你填充的数据行里A列可能是没数据,就会出现这种情况,我请你注意的就是把[A65536]改为每次都会有数据的列,如B1每次有数据,就将[A65536]改为[B65536] 即可

参考技术B Rows("1:1").Select
Selection.Copy
Sheets("Sheet2").Select
Range("A11").Select
ActiveSheet.Paste
Range("B17").Select

above code : copy sheet1.row1 to sheet2.row17,( sth wrong with computer, cannot type Chinese), hope that will help you, if any questons, ask me again追问

我是要按行复制啊,你这个是单元格复制?

追答

按行的,楼主可以调试下~

追问

谢谢了,但是还是楼上的回答对我有用些,可能你的答案更好,但是我不怎么看的懂。

追答

ok

利用vba怎样编写将工作表中第三行到最后一行(不确定)的数据复制并插入到另一个工作表的第二行前?

插入表中的原第二行数据下移到表尾

原则上VBA可以做到,但是你没有说清楚什么才叫做新的,只看日期吗,只看序号吗,我就假设你的A列是序号,用序号判断吧,程序代码如下:

参考技术A

将工作表中1第三行到最后一行(不确定)的数据复制并插入到工作表2的第二行前,VBA代码为:

Sub x()
    Sheets(1).Range("3:" & Sheets(1).UsedRange.Rows.Count).Copy
    Sheets(2).Range("2:2").Insert
End Sub

参考技术B Sub 插入复制()
   X = Range("a65536").End(xlUp).Row
       Rows("3:" & X).Select
    Selection.Copy
    Sheets("Sheet2").Select
    Rows("2:2").Select
    Selection.Insert Shift:=xlDown
End Sub

复制到Sheet1表

将Sheet1 第3行开始的数据插入到Sheet2第2行

以上是关于想在excel里用VBA,点击按钮复制一行数据到另外一行,可是不知道该怎么写的主要内容,如果未能解决你的问题,请参考以下文章

利用vba怎样编写将工作表中第三行到最后一行(不确定)的数据复制并插入到另一个工作表的第二行前?

如何使用 Excel VBA 将特定行从多个工作表复制到另一个工作表?

在 Excel 中将某些特定单元格从一个工作表复制到另一个工作表的 VBA 可能是啥?

js 选中表格一行指定单元格 单击按钮 插入到另一表格

在EXCEL中用VBA操作WORD表格:怎样选择一个表格中除第一行以外的任意连续行(比如第2到4行)?

excel用VBA把所有奇数行数据合并到一行,偶数行数据合并到另一行,保持对应关系。