Excel問題要請教各位大大,,有關VBA搜尋<已解答>

請教各位大大,

我想查詢某些"名稱"對應的"欄位"的總加總,

例如以下
Excel問題要請教各位大大,,有關VBA搜尋<已解答>

如上圖,我想查 "騎士"他"善惡值"的加總,並附上"ID"

然後可以列出來,如下圖


Excel問題要請教各位大大,,有關VBA搜尋<已解答>


上例只是範例,

我想問,那如果在查找數百筆時,是否能找出並列出總合呢?


(請問,我有附檔RAR看的到嗎?)

2013-12-31 16:59 發佈
這用樞紐或小計不是比較快嗎?
LUXEM wrote:
請教各位大大,我想查...(恕刪)

venvenho wrote:
這用樞紐或小計不是比...(恕刪)


其實因為資料筆數很多.範例只有一小部份而已,

所以幾百筆資料比對下來,可能很久,另外是資料會常變動,人員也會增加或減少,
如果只是這樣,樞紐就可以,資料量大用vba一樣不會比較快
說明

自動抓取該欄最後一行(不能有空行)
ActiveCell.CurrentRegion.Columns(ColNo).Rows.Count

若有空行
下列開頭單引號刪除
Dim RowsEnd As Long '最後一行
RowsEnd = 100 '最後一行(這行漏加)
For i = 1 To RowsEnd

下列開頭 + 單引號
For i = 1 To ActiveCell.CurrentRegion.Columns(ColNo).Rows.Count

虛線以下 VBA程式
-----------------------------------------------------------------------
Dim i As Long '流水號
Dim ColNo As Integer '搜尋欄位
Dim ColCou As Integer '計算欄位
Dim Total As Integer '總計
'Dim RowsEnd As Long '最後一行
Dim FindStr As String '搜尋字串

'虛線內自行輸入 ----------------
ColNo = 2 '搜尋欄位
ColCou = 4 '計算欄位
FindStr = "騎士" '搜尋字串
'RowsEnd = 100 '最後一行(這行漏加)
'-------------------------------

Total = 0
'For i = 1 To RowsEnd
For i = 1 To ActiveCell.CurrentRegion.Columns(ColNo).Rows.Count
If Cells(i, ColNo) = FindStr Then
Total = Total + Cells(i, ColCou)
End If
Next i
MsgBox FindStr & " 總計 : " & Total

simonni wrote:
說明自動抓取該欄最後...(恕刪)


太神啦!!!謝謝大師的解答!!

已經解決了問題,


LUXEM wrote:
太神啦!!!謝謝大師...(恕刪)


漏加一行 若都使用 自動抓取該欄最後一行指令 可無視

simonni wrote:
說明

自動抓取該欄...(恕刪)


強者...
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?