標題:
在不同工作表中找尋底色相同的資料並刪除
[打印本頁]
作者:
Changbanana
時間:
2016-8-22 12:49
標題:
在不同工作表中找尋底色相同的資料並刪除
各位大大~
想請教一個問題~
在工作表一id那欄找到一樣在工作表二中綠色底的id號碼後,再工作表一把綠色底的id資料刪除
[attach]25001[/attach]
#在工作表二中ID欄位(資料會增加減少,順序不會和工作表一的id一樣)綠色底的資料
[attach]25000[/attach]
想請問這樣vba要怎麼寫
結果想要呈現的樣子
[attach]25002[/attach]
有想到要用dictionary來做 但沒有寫過想請求各位幫忙,謝謝
作者:
zyzzyva
時間:
2016-8-23 09:40
回復
1#
Changbanana
試試看
Dim myRow As Integer
Sheets("sheet1").Activate
Range("B2").Select
Do While ActiveCell <> ""
myRow = WorksheetFunction.Match(ActiveCell, Sheets("sheet2").Range("A:A"), 0)
If Sheets("sheet2").Cells(myRow, "A").Interior.ColorIndex = 14 Then
Rows(ActiveCell.Row).Delete
Else
ActiveCell.Offset(1, 0).Select
End If
Loop
複製代碼
作者:
Changbanana
時間:
2016-8-23 10:23
回復
2#
zyzzyva
z大~
把程式碼打進去後工作表都沒反應耶
不知道是那兒出了問題
附上檔案[attach]25019[/attach]
作者:
Changbanana
時間:
2016-8-23 10:31
回復
2#
zyzzyva
顯示出的錯誤如圖
[attach]25020[/attach]
作者:
zyzzyva
時間:
2016-8-23 10:34
回復
3#
Changbanana
顏色的問題,ColorIndex那邊要改成43。
可以簡單用msgbox檢查顏色對應的數字。
mycolor = Sheets(2).Range("A2").Interior.ColorIndex
MsgBox (mycolor)
複製代碼
作者:
Changbanana
時間:
2016-8-23 10:39
回復
5#
zyzzyva
原來如此~已經沒問題了
原來可以這樣查顏色~
感謝你的解答 :)
作者:
zyzzyva
時間:
2016-8-23 10:42
回復
6#
Changbanana
不客氣。如果sheet1的id都會在sheet2出現,只是順序不一樣,那這樣就可以了;
如果不一定的話就要加上錯誤處理,不然match找不到的時候就會出現錯誤訊息。
作者:
Changbanana
時間:
2016-8-23 10:51
回復
7#
zyzzyva
對耶
因為剛剛在加資料後來又不行
正如同您所說"sheet1的id都會在sheet2出現",這是不一定的
sheet1的ID是當月全部資料
sheet2的ID是當月部份資料外加幾筆前幾個月的ID資料
那要該怎麼加上錯誤處理呢?
現在一直出現錯誤訊息0.0
作者:
zyzzyva
時間:
2016-8-23 12:00
回復
8#
Changbanana
試試看。
Dim myRow As Integer
Sheets("工作表1").Activate
Range("B2").Select
Do While ActiveCell <> ""
If IsError(Application.Match(ActiveCell, Sheets("工作表2").Range("A:A"), 0)) Then
ActiveCell.Offset(1, 0).Select
Else
myRow = WorksheetFunction.Match(ActiveCell, Sheets("工作表2").Range("A:A"), 0)
If Sheets("工作表2").Cells(myRow, "A").Interior.ColorIndex = 43 Then
Rows(ActiveCell.Row).Delete
Else
ActiveCell.Offset(1, 0).Select
End If
End If
Loop
複製代碼
作者:
Changbanana
時間:
2016-8-23 13:35
回復
9#
zyzzyva
謝謝你~
沒想到可以利用match來做
又學到了一課~~~
作者:
Changbanana
時間:
2016-9-5 17:42
回復
9#
zyzzyva
若工作表一在ACCESS資料表裡
工作表二在EXCEL中
這樣的資料位置有可能使用VBA來達到相同的結果嗎?
作者:
zyzzyva
時間:
2016-9-5 19:39
回復
11#
Changbanana
跟Access不太熟耶,看其他前輩有沒有比較好的方法。
最簡單的話就用ADO把資料讀出來放到excel裡,處理完再把資料寫回去。
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)