|
VBA Excel导出某个Range范围的字符到另一个Excel
目前用的代码是:
- Sub 导出()
- Dim jcsj_App As Excel.Application
- Dim jcsj_Book As Excel.Workbook
- Dim jcsj_Sheet As Excel.Worksheet
- '启动Excel
- Set jcsj_App = CreateObject("Excel.Application") '引用程序对象实例
- '设置Excel为不可见
- jcsj_App.Visible = False
- '打开文件
- Set jcsj_Book = jcsj_App.Workbooks.Open(Application.ActiveWorkbook.Path & "\sss.xlsx") '工作簿实例
- Set jcsj_Sheet = jcsj_Book.Worksheets(1)
- jcsj_Book.Worksheets(1).Activate
- 'ycyln 异常已录入条数
- ycyln = Worksheets("异常").Range("B65536").End(xlUp).Row - 100
- jcsj_Book.Worksheets(1).Cells.Clear
- Worksheets("异常").Range("B101:P" & ycyln + 100).Copy
- jcsj_Book.Worksheets(1).Range("A1:O" & ycyln).PasteSpecial Paste:=xlPasteValues
- jcsj_Book.Close SaveChanges:=True
- jcsj_App.Quit
- MsgBox "临时异常数据 导出完毕!"
- End Sub
复制代码
Worksheets("异常").Range("B101:P" & ycyln + 100).Copy
jcsj_Book.Worksheets(1).Range("A1:O" & ycyln).PasteSpecial Paste:=xlPasteValues
的问题在于,导出的内容带了部分格式,譬如字体,底色,但是公式的部分,确实是复制的字符出来,当然单元格宽没有带出来
除了这种方法,其他试过很多,都是报错
譬如这个,报400错误
- Worksheets("异常").Range("B101:P" & ycyln + 100).Copy
- jcsj_Book.Worksheets(1).Activate
- jcsj_Book.Worksheets(1).Range("A1:O" & ycyln).PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:=False, NoHTMLFormatting:=True
复制代码
请教,想仅导出字符和数值的话,代码如何修改
谢谢了
|
|