excel vba代码求:将固定单元格内容依次写到目标表格中

应该很好描述,一段代码,我点击执行后,即将模板文件中的 B3-K3单元格内容(以粘值的方式)复制到D盘根目录下ta.xlsx的A2-I2中,在这个过程中,不显示打开ta.xlsx这个文档,从后台写入,如果写入失败就显示一个msgbox:文件写入不成功。
重点来了,当我再次运行模板文件,将b3-k3复制到ta.xlsx中时,要依上次保存的位置续存,即自动存在A3-I3中,依次类推。谢谢了

第1个回答  推荐于2016-05-13

一个小问题需澄清一下:B3~K3单元格与A2~I2个数不同,无法正确处理。

代码如下,详见附件。

Private Sub CommandButton1_Click()
   Dim Ra As Range, Ex As Object, Wo As Workbook
   Set Ex = CreateObject("EXCEL.Application")
   Set Wo = Ex.Workbooks.Open("d:\ta.xlsx")
   Range("B3:K3").Copy
   Wo.Sheets(1).Range("A65536").End(3).Offset(1).PasteSpecial xlPasteValues
   Application.CutCopyMode = False
   Wo.Close True
   Ex.Quit
End Sub


追问

B3到K3,,,是10个,,应该是A2-J2,,对不起,造成困扰了。应该怎么改

追答

不用改,我是按B3到K3写的代码

追问

奇怪,居然说找不到文件,,奇怪奇怪,,麻烦再帮看下,谢谢挖

追答

说明你的D盘根目录下没有这个文件。请仔细核对文件名,可能有细小差别,比如空格呀什么的

追问

最后一个小问题,如何将复制过去的文字实现居中对齐,字体为arial,字号为9 ,谢谢哈

追答

电脑上没有回答窗口了,手机能够回答。请看评论

本回答被提问者采纳
第2个回答  2015-06-12

这个不难,复制下面代码即可:

Sub aa()
    Dim oWk As Workbook, oSht As Worksheet
    Dim sName$, iEndRow%
    '要写入的文件地址
    sName = "D:\ta.xlsx"
    '后台打开
    Set oWk = GetObject(sName)
    Set oSht = oWk.ActiveSheet
    '获得最后一行
    iEndRow = oSht.Range("A65536").End(xlUp).Row
    '复制B3:K3
    Range("B3:K3").Copy
    '选择性粘贴数值
    oSht.Cells(iEndRow + 1, 1).PasteSpecial Paste:=xlPasteValues
    '保存
    oWk.Save True
    Set oSht = Nothing
    Set oWk = Nothing
End Sub

追问

出错了,哪里出问题了呢。

本回答被网友采纳
第3个回答  2015-06-12
B3-K3

↑10
↓9

A2-I2

???
第4个回答  2015-06-12
源区域10列,目标区域12列,楼主是否有搞错?
相似回答