作者aup65797 (有缘人)
看板Office
标题[问题] VBA Sheets.Count
时间Thu Feb 23 22:27:54 2017
(若是和其他不同软体互动之问题 请记得一并填写)
软体:Office
版本:2010
VBA
Sheets.Count执行第一次 , 执行第二次会一直累加
如何清除为零?
If xRow > 60000 Then
n = n + 1
Sheets.Add After:=Sheets(Sheets.Count) '新增工作表并放在最後面
Sheets("工作表" & n).Select '选择工作表
xRow = 0
上面是说明档案超过60000行 , 会把其它档案放到工作表1
但现在有个问题 , 下次再执行时Sheets.Count不会从1开始 , 会从2开始 , 这是
为什麽呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.241.96.6
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1487860077.A.3AD.html
1F:→ soyoso: sheets.count在不增加工作表下,执行次数下会累加? 02/23 22:34
2F:→ aup65797: 就是Sheets.Add後会一直累加 , 要如何在下次执行时清零 02/23 22:38
3F:→ soyoso: 活页簿内至少须有一张未隐藏的工作表,sheets.count如何清 02/23 22:40
4F:→ soyoso: 除为零 02/23 22:40
5F:→ aup65797: Sheets.Add after:=Sheets(Sheets.Count) 02/23 22:40
6F:→ soyoso: 贴巨集码也不会知道原po希望要的结果是什麽 02/23 22:45
原有的Sheet1=>工作表1=>工作表2 执行时先删除工作表1=>工作表2 再新增工作表1
=>工作表2 下次执行先删除工作表1=>工作表2 再新增工作表1=>工作表2......
以此类推
※ 编辑: aup65797 (123.241.96.6), 02/23/2017 22:55:56
7F:→ soyoso: 如要每次新增工作表於某张工作表後面,以sheets(工作表名) 02/23 22:55
※ 编辑: aup65797 (123.241.96.6), 02/23/2017 22:57:16
※ 编辑: aup65797 (123.241.96.6), 02/23/2017 23:08:37
8F:→ soyoso: 回文的工作表2是指工作表"二"吗? 02/23 23:06
※ 编辑: aup65797 (123.241.96.6), 02/23/2017 23:09:24
9F:→ soyoso: 删除工作表名和新增工作表名相同吗? 02/23 23:11
10F:→ aup65797: 相同的 02/23 23:12
11F:→ aup65797: 应该说不一定相同 , 因为你不知道下次档案会有多大,可能 02/23 23:14
12F:→ aup65797: 更大 , 需要新增工作表3 工作表4 02/23 23:14
※ 编辑: aup65797 (123.241.96.6), 02/23/2017 23:15:31
13F:→ soyoso: 原文问到为什麽不会从1开始,因sheets.count为计数活页簿 02/23 23:17
14F:→ soyoso: 工作表数量 02/23 23:17
15F:→ soyoso: 如要保持为1起累加,改以变数=变数+1 02/23 23:19
16F:→ aup65797: 如Sheets("工作表1").Delete Sheets.Count会变少吗? 02/23 23:20
17F:→ soyoso: 会变少,但活页簿内至少须有一张未隐藏的工作表 02/23 23:22
另外请教Sheets.Add 他可否新增工作表1 工作表2 下次执行也是新增工作表1 工作表2
※ 编辑: aup65797 (123.241.96.6), 02/23/2017 23:30:19
18F:→ soyoso: 可以worksheet.name设定 02/23 23:41
19F:→ Iories: 在If xRow > 60000 Then 之前加上以下的程式码 02/24 10:36
20F:→ Iories: If Sheets.Count > 1 Then 02/24 10:36
21F:→ Iories: Application.DisplayAlerts = False 02/24 10:36
22F:→ Iories: For i = Sheets.Count To 2 Step -1 02/24 10:37
23F:→ Iories: Sheets(i).Delete 02/24 10:37
24F:→ Iories: Next i 02/24 10:37
25F:→ Iories: Application.DisplayAlerts = True 02/24 10:37
26F:→ Iories: End If 02/24 10:37
27F:→ aup65797: 感谢 , 解决了 02/26 10:45