Re: [算表] 資料加總刪除的VBA寫法(VBA)
VBA 的用法請參考以前的
Dim lastrow As Long, nextcol As Long, lastcol As Long, i As Long
lastrow = Range("A" & Rows.Count).End(xlUp).Row
Application.ScreenUpdating = False
For i = lastrow To 2 Step -1
If Cells(i, 1).Value = Cells(i - 1, 1).Value Then
nextcol = Cells(i - 1, Columns.Count).End(xlToLeft).Column + 1
lastcol = Cells(i, Columns.Count).End(xlToLeft).Column
Cells(i - 1, 4).Value = Cells(i - 1, 4) + Cells(i, 4).Value
Rows(i).EntireRow.Delete (xlShiftUp)
End If
Next i
Application.ScreenUpdating = True
MsgBox ("完成")
※ 引述《ichol (深色憂鬱的心)》之銘言:
: 軟體:
: EXCEL
: 版本:
: 2000(2002)
: 想請問一個VBA寫法
: 以下是原始資料
: A B C D E F
: 1 型號 公司名 日期 數目 結算單位 廠庫
: 2 CX-10A ACXR 3月11日 20 AC1 AK10
: 3 CY-220 BENX 3月11日 10 AC1 AK10
: 4 CY-220 BENX 3月11日 25 AC1 AK10
: 5 CY-220 BENX 3月20日 35 AC1 AK10
: 6 CY-220 BENX 3月20日 14 AC1 AK10
: 7 CA220 COLA 3月20日 22 AC1 AK10
: 8 CX-10A DELL 3月20日 11 AC1 AK10
: 9 CX-10A DELL 3月20日 2 AC1 AK10
: 10 CX-10A DELL 3月20日 3 AC1 AK10
: 11 CA-20 BENX 3月20日 100 AC1 AK10
: 12 CX-10A BENX 3月20日 2.5 AC1 AK10
: 13 CX-10A BENX 3月20日 1 AC1 AK10
: 14 CA-20 PUX 3月20日 2.3 AC1 AK10
: 15 CA-20 AJW 3月20日 22 AC1 AK10
: 16 CA-20 BENX 3月20日 11.5 AC1 AK10
: 17 CA-20 BENX 3月20日 2 AC1 AK10
: 18 CA-20-1 AK 3月20日 4 AC1 AK10
: 19 CA-20-1 AK 3月20日 2 AC1 AD40
: 20 CA-20-1 AJQ 3月20日 3 AC1 AD41
: 可以看見A3~A6是同個型號
: 我想要的是當看見A欄有相同的型號時
: 把D3~D6加總並且寫在D3然後把多餘的4 5 6列刪除
: 且用vba來寫 因為數目有上萬筆... 一個個刪除到瘋了..
: 以下是結果:
: A B C D E F
: 1 型號 公司名 日期 數目 結算單位 廠庫
: 2 CX-10A ACXR 3月11日 20 AC1 AK10
: 3 CY-220 BENX 3月11日 84 AC1 AK10
: 4 CA220 COLA 3月20日 22 AC1 AK10
: 5 CX-10A DELL 3月20日 16 AC1 AK10
: 6 CA-20 BENX 3月20日 100 AC1 AK10
: 7 CX-10A BENX 3月20日 3.5 AC1 AK10
: 8 CA-20 PUX 3月20日 37.8 AC1 AK10
: 9 CA-20-1 AK 3月20日 9 AC1 AK10
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.131.84.78
Office 近期熱門文章
PTT數位生活區 即時熱門文章