VBA读写Excel文件报错Debug

一、VBA简介

VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程序功能,特别是Microsoft Office软件。
可以认为 VBA 是非常流行的应用程序开发语言 VASUAL BASIC 的子集.实际上 VBA 是"寄生于" VB 应用程序的版本。
一般宏语言在office软件如word和Excel中应用的广泛一些,可以通过菜单栏中的视图——宏——录制宏来进行自动化操作编程。

二、VBA读写Excel文件

以在excel程序中编辑VBA为例,

Sub2()
'
' 宏2 宏
'
Dim wb As Workbook
Dim ws As Worksheet
Dim fn$
Dim p0$
fn="D:\test.xlsx"
p0 = "5"
Set wb = Workbooks.Open(fn)
Set ws = wb.Sheets(1)
ws.Cells(15, CInt(p0)) = "hello"
End Sub

代码中wb即为工作簿对象,ws即为工作表对象,Sheets(1)就是选中第一个工作表sheet1,Cells(r,c) 是选择单元格指令,r是行数,c是列数,这里行和列都以整数表示。

三、调用Cells报错

上述代码中ws.Cells(15, CInt(p0)) = "hello"语句执行没有问题,但是改成ws.Cells(15, p0) = "hello"就会报错,经过调试发现调用Cells(r,c)时,r的数据类型可以是整数也可以是字符串型,而c只能是整数,如果是字符串类型就会报如下图应用程序定义或对象定义错误
在这里插入图片描述
所以如果c的类型是字符串类型,就需要使用CINT(c)转换为整数类型。

参考文档

Workbooks.Open 方法 (Excel)
如何Word中用VBA打开Excel表格,读取其中的内容写入到Word
Workbook 对象 (Excel)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值