註冊
登錄
首頁
論壇版規
禁止列表
說明
地圖
數位書香
私人消息 (0)
公共消息 (0)
論壇任務 (0)
系統消息 (0)
好友消息 (0)
帖子消息 (0)
麻辣家族討論版版
»
Excel程式區
» 有高手可以幫我簡化一下嗎?
返回列表
下一主題
上一主題
發帖
有高手可以幫我簡化一下嗎?
am0251
發短消息
加為好友
am0251
當前離線
UID
71
帖子
65
主題
11
精華
0
積分
83
金錢
83
點名
0
作業系統
Window 7
軟體版本
2007
閱讀權限
20
在線時間
37 小時
註冊時間
2010-5-4
最後登錄
2012-5-21
中學生
帖子
65
主題
11
精華
0
積分
83
點名
0
作業系統
Window 7
軟體版本
2007
閱讀權限
20
註冊時間
2010-5-4
最後登錄
2012-5-21
1
#
跳轉到
»
正序看帖
打印
字體大小:
t
T
發表於 2011-6-19 17:20
|
只看該作者
有高手可以幫我簡化一下嗎?
我做了一個簡單的統計程式,對比下"A2"的內容跟"A3"的內容是否一致,如果是的話,那麼"B2"跟"B3"的數值就會相加,之後"A3"跟"B3"就會刪除,如果是"否"的話就向下一格,資料少的話還好,如困資料多過500之後就會非常的慢(很有可能我的電腦太舊了),在我有錢換新電腦之前,有高手可以幫我簡化一下嗎?謝謝!!
Sub Test()
Dim z As Integer
z = 2
Do While Range("A" & z).Value <> ""
If Range("A" & z).Value = Range("A" & (z + 1)).Value Then
Range("B" & z).Value = Range("B" & z).Value + Range("B" & (z + 1)).Value
Range("A" & (z + 1), "B" & (z + 1)).Delete Shift:=xlUp
Else
z = z + 1
End If
Loop
If Range("A2").Value = "-" Then Range("A2:B2").Delete Shift:=xlUp
End Sub
複製代碼
樓主熱帖
"Vlookup" and "Match" in VBA
如何用VBA匯入CSV檔?
有好書推薦一下嗎?
函數會比VBA快嗎?
如何抽取同一格的日期再整合呢?
不同電腦開同一檔案的問題
可以很快的找到資料嗎?
Excel 07 開 03 的VBA 有問題
有關選項按鈕
收藏
分享
50 字節以內
不支持自定義 Discuz! 代碼
am0251
發短消息
加為好友
am0251
當前離線
UID
71
帖子
65
主題
11
精華
0
積分
83
金錢
83
點名
0
作業系統
Window 7
軟體版本
2007
閱讀權限
20
在線時間
37 小時
註冊時間
2010-5-4
最後登錄
2012-5-21
中學生
帖子
65
主題
11
精華
0
積分
83
點名
0
作業系統
Window 7
軟體版本
2007
閱讀權限
20
註冊時間
2010-5-4
最後登錄
2012-5-21
3
#
發表於 2011-6-20 16:57
|
只看該作者
哇~~!!好厲害啊~~!!真的快很多,不過小弟比較笨,有很多指令都看不明白,大大介意給我介紹一下功能跟原理嗎?謝謝!!
50 字節以內
不支持自定義 Discuz! 代碼
TOP
oobird
發短消息
加為好友
oobird
當前離線
街友一族
UID
17
帖子
1572
主題
16
精華
2
積分
1521
金錢
1521
點名
0
作業系統
xp
軟體版本
office 2003
閱讀權限
150
性別
男
在線時間
832 小時
註冊時間
2010-5-1
最後登錄
2016-1-13
頭銜:
街友一族
超級版主
帖子
1572
主題
16
精華
2
積分
1521
點名
0
作業系統
xp
軟體版本
office 2003
閱讀權限
150
性別
男
註冊時間
2010-5-1
最後登錄
2016-1-13
2
#
發表於 2011-6-19 22:18
|
只看該作者
Sub Test()
Dim a, d As Object, i&
a = Range([A2], [b65536].End(3))
Set d = CreateObject("Scripting.Dictionary")
For i = 1 To UBound(a)
d(a(i, 1)) = d(a(i, 1)) + a(i, 2)
Next
Range([A2], [b65536].End(3)) = ""
[A2].Resize(d.Count, 1) = Application.Transpose(d.keys)
[b2].Resize(d.Count, 1) = Application.Transpose(d.items)
If [A2] = "-" Then [A2:B2].Delete (2)
End Sub
複製代碼
TOP
靜思自在 :
【蒙蔽的自由】人常在什麼都可以自由自在的時候,卻被這種隨心所欲的自由蒙蔽,虛擲時光而毫無覺知。
返回列表
下一主題
上一主題
EXCEL專屬討論區
Excelㄧ般區
Excel程式區
進階應用專區
OFFICE 系列
Word
PowerPoint
Access
Office不分區
程式語言
VB 與 VB.Net
C 與 C#
Java 與 J#
程式設計不分區
資料庫
ORACLE
My SQL
MS SQL
網頁設計
ASP 與 ASP.NET
PHP
PHP+MySQL 入門實作
JavaScript
FLASH / ActionScript
HTM/ HTML/ CSS
網頁設計不分區
電腦與作業系統
電腦各種硬體討論
一般電腦軟體討論
論壇事務
管理公告
投訴反映
新手測試
愛 • 生活
公益佈告欄
生活與感動
[收藏此主題]
[關注此主題的新回復]
[通過 QQ、MSN 分享給朋友]
申請友情鏈接
Facebook粉絲