- 帖子
- 522
- 主題
- 36
- 精華
- 1
- 積分
- 603
- 點名
- 0
- 作業系統
- win xp sp3
- 軟體版本
- Office 2003
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2012-12-13
- 最後登錄
- 2021-7-11
|
10#
發表於 2014-2-24 13:02
| 只看該作者
本帖最後由 yen956 於 2014-2-24 13:12 編輯
回復 9# 卡嘉塔
將8F 的 刪除重覆列.7z 抓下來,
打開 VBA 再修改.- Private Sub CommandButton1_Click()
- Dim i As Integer
- Dim strB, strC As Range
- '
- '先將資料表按升冪排序, 主要鍵→名稱(C欄), 次要鍵→類別(A欄); Range("A1:E21")是排序範圍
- [A1].Resize([A1].End(xlDown).Row, [A1].End(xlToRight).Column).Sort _
- Key1:=Range("C2"), Order1:=xlAscending, _
- Key2:=Range("A2"), Order2:=xlAscending, _
- Header:=xlYes
-
- For i = [C2].End(xlDown).Row To 2 Step -1
- Set strB = Cells(i - 1, 3)
- Set strC = Cells(i, 3)
- If strC.Value = strB.Value Then
-
- '保留D欄資
- If strB.Offset(0, 1) = "" And strC.Offset(0, 1) <> "" Then
- strB.Offset(0, 1) = strC.Offset(0, 1)
- End If
-
- '保留E欄資
- If strB.Offset(0, 2).Value = "" And strC.Offset(0, 2).Value <> "" Then
- strB.Offset(0, 2).Value = strC.Offset(0, 2).Value
- End If
- '
- '複製上列VBA, 再修再參數即可
- '
- strC.EntireRow.Delete
- End If
- Next
- End Sub
複製代碼 |
|