Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1792|回复: 8

有2个语句的含义不理解,请大家指教,谢谢

[复制链接]
发表于 2013-12-30 22:33 | 显示全部楼层 |阅读模式
Set wbk = Workbooks.Open(ThisWorkbook.Path & "\A.xls")
请问ThisWorkbook.Path & "\A.xls"是取出A文件的地址吗


With ThisWorkbook.Sheets("第2题")
请问这句是打开VBA所在的文件吗


源代码如下
Sub 第2题()
Dim i As Integer, wbk As Workbook
Set wbk = Workbooks.Open(ThisWorkbook.Path & "\A.xls")
With ThisWorkbook.Sheets("第2题")
For i = 1 To wbk.Sheets.Count
    If i = 1 Then
       wbk.Sheets(i).UsedRange.Copy .Range("A1")
    Else
       wbk.Sheets(i).UsedRange.Offset(1, 0).Copy .Range("A" & .[A65536].End(xlUp).Row + 1)
    End If
Next i
wbk.Close True
End With
End Sub
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2013-12-30 22:38 | 显示全部楼层
ThisWorkbook.Path 是路径
ThisWorkbook.Sheets("第2题") 工作表名
回复

使用道具 举报

发表于 2013-12-31 09:11 | 显示全部楼层
Sub 第2题()      過程 第2題
Dim i As Integer, wbk As Workbook 聲明I ,WOKEBOOK
Set wbk = Workbooks.Open(ThisWorkbook.Path & "\A.xls")  打開工作簿 PATH是路徑後面是拓展名
With ThisWorkbook.Sheets("第2题")   在工作簿的Sheets("第2题")中
For i = 1 To wbk.Sheets.Count   I從1到 工作表的總數賦值給I
    If i = 1 Then                         如果I從I為1
       wbk.Sheets(i).UsedRange.Copy .Range("A1")     打開工作簿中I個工作表的使用過的單元格複製到A1
    Else                                否則
       wbk.Sheets(i).UsedRange.Offset(1, 0).Copy .Range("A" & .[A65536].End(xlUp).Row + 1)  以工作表使用過的單元格向下偏移1行,複製到工作表的最後一行
    End If       結束IF
Next i           下一個I
wbk.Close True   關閉工作簿
End With           結束with
End Sub             結束過程

评分

参与人数 1 +1 收起 理由
lszxs4 + 1 很给力!

查看全部评分

回复

使用道具 举报

发表于 2013-12-31 09:22 | 显示全部楼层
補充一點,WITH是爲了提高工作效率,一般在後面要用很多次的話就需要寫 WITH語句的,不知樓主明白沒有
回复

使用道具 举报

 楼主| 发表于 2014-1-4 20:28 | 显示全部楼层
苗凱 发表于 2013-12-31 09:22
補充一點,WITH是爲了提高工作效率,一般在後面要用很多次的話就需要寫 WITH語句的,不知樓主明白沒有

谢谢你的注释,现在明白了
回复

使用道具 举报

 楼主| 发表于 2014-1-4 20:48 | 显示全部楼层
苗凱 发表于 2013-12-31 09:11
Sub 第2题()      過程 第2題
Dim i As Integer, wbk As Workbook 聲明I ,WOKEBOOK
Set wbk = Workbooks. ...

请问wbk.Sheets(i).UsedRange.Copy .Range("A1")
语句中   Range("A1") 前面有"."
这个点有什么特殊的含义吗
回复

使用道具 举报

发表于 2014-1-4 22:02 | 显示全部楼层
lszxs4 发表于 2014-1-4 20:48
请问wbk.Sheets(i).UsedRange.Copy .Range("A1")
语句中   Range("A1") 前面有"."
这个点有什么特殊的 ...

前面有WITH,是WITH語句的語法
回复

使用道具 举报

发表于 2014-1-4 22:04 | 显示全部楼层
打開工作簿中I個工作表的使用過的單元格複製到ThisWorkbook.Sheets("第2题")A1單元格
With ThisWorkbook.Sheets("第2题")    你看看就明白了
回复

使用道具 举报

发表于 2014-1-4 22:04 | 显示全部楼层
lszxs4 发表于 2014-1-4 20:48
请问wbk.Sheets(i).UsedRange.Copy .Range("A1")
语句中   Range("A1") 前面有"."
这个点有什么特殊的 ...

打開工作簿中I個工作表的使用過的單元格複製到ThisWorkbook.Sheets("第2题")A1單元格

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-29 22:42 , Processed in 0.162567 second(s), 15 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表