乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>VB</em>如何从一个excel表复制内容到另外一个表中

<em>VB</em>如何从一个excel表复制内容到另外一个表中

作者:乔山办公网日期:

返回目录:excel表格制作


先私信你,一会再发 ,不然容易失效。。。
Private Sub Command1_Click()
Dim XlApp As Application
Dim Xlbook As Workbook
Set XlApp = New Excel.Application
With XlApp.Workbooks.Open("D:\B.XLSX")
Set Xlbook = XlApp.Workbooks.Open("D:\A.XLSX")
Xlbook.Worksheets(1).Range("A1" & ":" & "G5").Copy .Worksheets(1).Range("A6" & ":" & "G10")
Xlbook.Close False
.Close True
Set XlApp = Nothing
Set Xlbook = Nothing
End With
End Sub

1.如图,将单元格区域复制,并粘贴到另外的区域,很明显,粘贴后并没有所有的格式复制过来。特别是行高列宽。要重新调整很麻烦。

2.其在粘贴选项里选择保持“保留源列宽”就可以了。

3.第二种方法是选择性粘贴的方法,
点鼠标右键→“选择性粘贴”命令,在对话框中选择“列宽”。

4.复制单元格保留单元格行高和列宽
整行复制可以保留行高,整列复制可以保留列宽,都要保留就只有整表复制。
要同时选择区域所在的行和列
Sheets(1).Rows(1).Copy Sheets(2).Rows(2)

.CurrentRegion表示目标区域占用的整个数据区,相当于按一下ctrl+A



你的代码是录制宏出来的吧?宏录制有一个致命缺点,它录制的是你的操作过程,而不是结果。
想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
继续循环
结束宏

相关阅读

  • <em>EXCEL</em>,<em>VB</em>A中如何获取 <

  • 乔山办公网excel表格制作
  • MergeCells属性确定是否包含合并单元格MergeArea属性代表合并单元格,配合Rows.count可知道合并的行数,列数也类似解决。有问题请追问VBA如何选中有合并单元格的一行" src="/uploads/tu/641.jpg
关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网