VB如何从一个excel表复制内容到另外一个表中 10

PrivateSubCommand1_Click()DimxlAppAsNewExcel.ApplicationDimxlBookAsNewExcel.WorkbookD... Private Sub Command1_Click()
Dim xlApp As New Excel.Application
Dim xlBook As New Excel.Workbook
Dim oSheet As New Excel.Worksheet
Dim Copygene As String
Dim Copyright As String
Dim Copyzuobiao As String
Dim zuobiaoright As String
Dim i As Integer, j As Integer
On Error Resume Next

CommonDialog1.DefaultExt = "xls"
CommonDialog1.FileName = "数据导出"
CommonDialog1.Filter = "工作表文件(*.xls)"
CommonDialog1.DialogTitle = "另存为EXCEL"
CommonDialog1.InitDir = App.Path
CommonDialog1.ShowSave
CommonDialog1.Flags = cdlOFNOverwritePrompt
'----------------------------------------
On Error Resume Next
Dim myexcel As New Excel.Application
Dim mybook As New Excel.Workbook
Dim mysheet As New Excel.Worksheet
myexcel.Visible = False
Set mybook = myexcel.Workbooks.Add
Set mysheet = mybook.Worksheets(1)
'mysheet.Range("E1") = "A"
'Copygene = mysheet.Range("E1")

For i = 0 To File1.ListCount - 1
Set xlBook = xlApp.Workbooks.Open(File1.Path & "\" & File1.List(i))
Copygene = mysheet.Range("A1")
xlApp.Visible = False
Set oSheet = xlBook.Worksheets(1)

' oSheet.Range("A1").Copy mysheet.Range("A1").Offset(0, i)
mysheet.Range("A1").Offset(0, i) = oSheet.Range("A1")
Copygene = mysheet.Range("A1")
Copygene = mysheet.Range("E1")
Set oSheet = Nothing '释放sheet对象
xlBook.Close '关闭文件
Set xlBook = Nothing
' xlApp.Quit '关闭Excel
' Set xlApp = Nothing
Next i

mybook.SaveAs CommonDialog1.FileName
mybook.Close
myexcel.Quit
xlApp.Quit '关闭Excel
Set xlApp = Nothing
Set mysheet = Nothing
Set mybook = Nothing
Set myexcel = Nothing
end sub

我想要把一个文件夹里面的excel表内容的指定部分都复制到一个新建的excel中保存。调试的时候发现我无法使用copy的方式复制,用A=B的方式倒是可以,不过我需要复制的单元格太多,一个个单元格复制效率太低。
请问大家我的代码是哪里出了问题,需要如何解决这个问题?
展开
 我来答
可之缘0
2017-02-11 · 知道合伙人互联网行家
可之缘0
知道合伙人互联网行家
采纳数:38010 获赞数:83655
就读于云南财经大学,现在属于实习期间,学习电子商务专业

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

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

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

4.复制单元格保留单元格行高和列宽
整行复制可以保留行高,整列复制可以保留列宽,都要保留就只有整表复制。
要同时选择区域所在的行和列
柔软的Bp
科技发烧友

2017-02-11 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:3万
采纳率:67%
帮助的人:8938万
展开全部
你可以 直接录制个宏,就可以了
更多追问追答
追问
我试过,按照宏上面的方式还是不行。
oSheet.Activate
oSheet.Columns("A:C").Copy
Selection.Copy
mysheet.Activate
mysheet.Range("A1").Paste
我不知道是不是我改的osheet和mysheet的问题。
追答
Sub 复制()
Columns("A:C").Select
Selection.Copy
ActiveSheet.Paste
Columns("A:C").Select
Application.CutCopyMode = False
ChDir "C:\Users\YD00387\Desktop\新建文件夹"
ActiveWorkbook.SaveAs Filename:="C:\Users\YD00387\Desktop\新建文件夹\456.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
Windows("123.xls").Activate
End Sub
将桌面上 新建文件 这个文件夹里,1个一个名字为 123表的A:C列,复制到 新建表的A:C列,且重命名为 456
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式