想在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").SelectSelection.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 可能是啥?