excel中 在一个表中的按钮写VB代码,把单元格的内容复制到另一个单元格中。闪

'复制表一 A1的值 到表二 的B1
Sheets("表一").Range("a1").Copy

Sheets("表二“).Range("B1").PasteSpecial (xlPasteValues)

'复制表一 A2的值 到表二 的B2
Sheets("表一").Range("a2").Copy

Sheets("表二").Range("b2").PasteSpecial (xlPasteValues)

功能实现了,但是总是闪 怎么能优化代码。 因为我复制好几个呢 谢谢

你的代码是录制宏出来的吧?宏录制有一个致命缺点,它录制的是你的操作过程,而不是结果。
想copy,paste这种动作,是很麻烦的
其实你只需要一个赋值就够了“=”
Sheets("表二“).cells(1,2)=Sheets("表一“).cells(1,1)

但是我觉得你应该有很多行要复制,给你写了一个批量的,能把表一中A列所有数据一口气都复制到表二B列中
Sub a()
r = 1
Do Until Cells(r, 1) = ""
Sheets("表二“).Cells(r, 2) = Sheets("表一“).Cells(r, 1)
r = r + 1
Loop
End Sub
以下是说明

sub a()--定义一个宏,叫a
初始值r=1,即,开始复制数据的第一行的行号,如果你从A2开始复制,r就等于2
开始循环,直到第一列最后一个数
叫"表二“的表格中第r行,2列=叫表一的表格中,第r行第1列的数值
行数+1
继续循环
结束宏
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-05-17

以后在你的所有宏里面加上下面代码的前后两句代码。

至于代码化简,你要说完整你要做什么才好说。

Sub AAA()
    Application.ScreenUpdating = False '代码开头加上
       
    Sheets("表二").Range("B1").Value = Sheets("表一").Range("a1").Value
    Sheets("表二").Range("B2").Value = Sheets("表一").Range("a2").Value
       
    Application.ScreenUpdating = True '代码结束加上
End Sub

本回答被提问者采纳
第2个回答  2013-04-30
直接写
Sheets("表一").Range("B1").value=Sheets("表二“).Range("A1").value
试试看追问

不行 连功能都实现不了了 我是在exel表一里面 一个确定按钮写的 vb代码

追答

额,写快了。。。应该是(当前sheet)
Range("B1") = Range("A1")

VB如何从一个excel表复制内容到另外一个表中
1.如图,将单元格区域复制,并粘贴到另外的区域,很明显,粘贴后并没有所有的格式复制过来。特别是行高列宽。要重新调整很麻烦。2.其在粘贴选项里选择保持“保留源列宽”就可以了。3.第二种方法是选择性粘贴的方法,点鼠标右键→“选择性粘贴”命令,在对话框中选择“列宽”。4.复制单元格保留单元格...

...个工作的内容复制到另一个工作簿中的一个工作表中
下面代码把c:\\1.xls中Sheet1工作表的内容拷贝到另外一个新建工作表中,并保存为“c:\\2.xls”Private Sub Command1_Click()Dim S() As String, i As Integer, j As Integer Dim xlApp Dim xlBook Dim xlSheet Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象 xlApp.DisplayAl...

如何用VB实现:在EXCEL文档指定区域单元格选中后,自动把这些单元格数据粘...
单击 A1:C10任何一个地方,就执行,否则不执行。无需设置 按钮 Sub 自动复制()arr = Range("A1:C10")Sheets(2).Cells(Sheets(2).Range("a65536").End(xlUp).Row + 2, 1).Resize(10, 3) = arr End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range)Dim tr, tc tr...

vb操作Excel,复制单元格到另一工作表中指定位置
range("a6:a11").select selection.copy sheets("sheet2").select range("a6").select activesheet.paste end sub 有能力就自己优化一下代码。

用VB或宏打开一个EXCEL文件并表复制内容到另外一个总表中
StringDim MySht As StringDim MyWK As WorkbookstrPath = ThisWorkbook.PathFor I = 2 To 2001If Cells(2, I) = "" ThenExit ForElseSet MyWK = Workbooks.Open(strPath & "\\" & Cells(2, I) & ".xlsx") ''请注意你的EXCEL档案存放的路径ARR = Range("B2:B7") ''注意你要复制...

...的VBA,将一个已知workbook的内容复制到另一个workbook中,程序如何...
方法1:选workbook1的sheet1 Ctrl+A Ctrl+C 然后选workbook2。 sheet1 Ctrl+V 我试过CP 38万条数据 也用不了多久。方法2:右键点原数据的sheet表,选“移动或复制工作表”,在工作薄中选择目标文件名,选中“建立副本”。方法3:如果是多文件。多sheet表。在被写入的文件中写入VBA Public filepath As StringPubl...

如何利用vb将一个已打开的EXCEL文件单元格内容复制到同一目录下的另一...
打开1.xls,添加一个按钮,粘贴以下代码,在A1:G5区域输入数据,点击按钮,数据存入2.xls,同时1的数据清空。代码虽简单但已调试通过。Sub 按钮1_单击()Dim j As Integer Dim arr Dim wb As Workbook Sheet1.Activate arr = Range("a1:g5")Set wb = Workbooks.Open("d:\\2.xls")wb.Sheets...

excel中用VB代码从sheet1复制内容到sheet2
第一个问题:假如要把sheet1中A1:B15的内容复制到sheet2的B5:C19,如下 Sub Copy()sheets("sheet1").select Range("A1:B15").Select Selection.Copy sheets("sheet2"),select Range("B5").Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _False, Transpose:=False...

vb,vbA操作EXCEL怎么把指定数据复制到另一工作表符合条件的相应...
Match([B1], Sheets("基础数据").Range("A:A"), 0)Range("A3:D3").Copy Sheets("基础数据").Cells(X, "a")Sheets("基础数据").SelectSheets("基础数据").Range("a" & X & ":" & "d" & X).Interior.ColorIndex = 3 '修改过的区域填充红色End Sub代码复制到 修改表里 ...

利用vb如何把excel。工作薄1中的某个工作表完整的复制或移动,到另一...
x=xls.Workbooks("***1.xls").Sheets(1).Range("A1:D8").value xls.Workbooks("***2.xls").Sheets(1).Range("A1:D8")=x 如果你VBA不错话,这代码应该能看懂

相似回答