vb,复制sheet1里面A1-A20列的内容,然后再桌面创建一个名为sheet2中单元格A1内的文件夹

vb,复制sheet1里面A1-A20列的内容,然后再桌面创建一个名为sheet2中单元格A1内的文件夹,并再该文件夹内创建一个名为123的TXT,将A1-A20复制的内... vb,复制sheet1里面A1-A20列的内容,然后再桌面创建一个名为sheet2中单元格A1内的文件夹,并再该文件夹内创建一个名为123的TXT,将A1-A20复制的内容粘贴进去
请帮忙写个VB,谢谢!
展开
 我来答
百度网友00e0b84
2014-08-25 · TA获得超过483个赞
知道小有建树答主
回答量:519
采纳率:0%
帮助的人:464万
展开全部
'要在VB中操作Excel,需要引用Excel对象模型
'方法,在菜单里选择[工程] -- [引用],在窗口里勾选 Microsoft Excel XX.X Object Library
'其中,XX.X取决于你安装的Office的版本号

'在你的显示按钮中加入以下代码。
'注:"地址"中加入你的excel文件地址,如"C:\1.XLS",要带双引号
'Sheet1也可以改为你的工作表的名字,要带双引号

Sub transform()
Dim excel_App As Excel.Application
Dim excel_Book As Excel.Workbook
Dim excel_sheet1 As Excel.Worksheet
Dim excel_sheet2 As Excel.Worksheet
Dim a(1 to 20)

'启动Excel
Set excel_App = CreateObject("Excel.Application") '引用程序对象实例
'设置Excel为不可见
excel_App.Visible = False
'打开文件
Set excel_Book = excel_App.Workbooks.Open("地址") '工作簿实例
Set excel_sheet1 = excel_Book.Worksheets("Sheet1") '数据表实例1
Set excel_sheet2 = excel_Book.Worksheets("Sheet2") '数据表实例2

'读取
For i = 1 to 20
a(i) = excel_sheet1.Range("A" & i)
Next

'保存到C盘"sheet2A1"目录。我不清楚你的用户名,到时候你自己改改路径

MkDir "C:\" & excel_sheet2.Range("A1") & "\"

Open "C:\" & excel_sheet2.Range("A1") & "\123.txt" For Output As #1
For i = 1 To 20
Print #1, a(i) & " , "
Next
Close #1

'''''''''''''''''''''''''''''''''''
'关闭Excel文件
Set excel_sheet = Nothing
Set excel_Book = Nothing
excel_App.Quit
Set excel_App = Nothing

End Sub
追问
这样改了下
'读取
For i = 1 To 1000
a(i) = excel_填写.Range("G" & i)
Next
但是读取到G21时候(G21内容为SMOD1-IF3

它提示 下标越界
请问这是为什么?
追答
噢,因为我的数组a设置只有20个元素,去最上面哪里,把 Dim a(1 to 20) 改成 Dim a(1 to 1000)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式