|
本帖最后由 Dozen 于 2016-7-29 18:57 编辑
正在开发个简单的VBA的PPT:
有一个表,有一列ID,一行一个,几千行,现在要把excel表上的ID放到PPT上,每页PPT放10个ID,简单的对齐排版,研究了一天,基本实现了想要的效果,但是遇到了一个问题一直想不通,所以发上来看有没有高手能帮忙指教一下:
以下为出错部分代码
'以下代码提醒使用者先清空原有幻灯片
'====================================================================================
If ActivePresentation.Slides.Count <> 1 Then
MsgBox ("请先清空除封面以外的所有幻灯片!!!")
Exit Sub
End If
'以下代码导入excel数据源
'====================================================================================
Dim xlApp As Object
Dim xlWBK As Object '定义工作薄对象
Dim xlSht As Object '定义工作表对象
Dim fPath As String '定义筹号文件路径
Dim lastRow As Integer '定义最后一个筹号所在的行
Dim arrID
'打开对话框选择文件并获取文件路径
With Application.FileDialog(msoFileDialogFilePicker)
If .Show = False Then Exit Sub
fPath = .SelectedItems(1)
End With
'打开指定工作薄并把工作表筹号信息存为数组
Set xlApp = CreateObject("Excel.Application")
Set xlWBK = xlApp.Workbooks.Open(fPath)
Set xlSht = xlWBK.Worksheets("筹号")
'arrID = xlSht.Range("A2:A17") '用这句代码没问题,但换成下面的代码就出错了
lastRow = xlSht.Range("A" & Rows.Count).End(xlUp).Row
arrID = xlSht.Range("A2:A" & lastRow)
xlWBK.Close False
'释放对象
Set xlApp = Nothing
Set xlWBK = Nothing
Set xlSht = Nothing
代码“lastRow = xlSht.Range("A" & Rows.Count).End(xlUp).Row” 出错,但在excel里面运行是没问题的
|
|