返回列表 上一主題 發帖

在不同工作表中找尋底色相同的資料並刪除

在不同工作表中找尋底色相同的資料並刪除

各位大大~
想請教一個問題~

在工作表一id那欄找到一樣在工作表二中綠色底的id號碼後,再工作表一把綠色底的id資料刪除


#在工作表二中ID欄位(資料會增加減少,順序不會和工作表一的id一樣)綠色底的資料


想請問這樣vba要怎麼寫

結果想要呈現的樣子



有想到要用dictionary來做 但沒有寫過想請求各位幫忙,謝謝

回復 1# Changbanana
試試看
  1. Dim myRow As Integer

  2. Sheets("sheet1").Activate
  3. Range("B2").Select
  4. Do While ActiveCell <> ""
  5.     myRow = WorksheetFunction.Match(ActiveCell, Sheets("sheet2").Range("A:A"), 0)
  6.     If Sheets("sheet2").Cells(myRow, "A").Interior.ColorIndex = 14 Then
  7.         Rows(ActiveCell.Row).Delete
  8.     Else
  9.         ActiveCell.Offset(1, 0).Select
  10.     End If
  11. Loop
複製代碼

TOP

回復 2# zyzzyva

z大~

把程式碼打進去後工作表都沒反應耶

不知道是那兒出了問題

附上檔案 新資料夾.zip (387.18 KB)

TOP

回復 2# zyzzyva


    顯示出的錯誤如圖
     
      1.png

TOP

回復 3# Changbanana
顏色的問題,ColorIndex那邊要改成43。
可以簡單用msgbox檢查顏色對應的數字。
  1. mycolor = Sheets(2).Range("A2").Interior.ColorIndex
  2. MsgBox (mycolor)
複製代碼

TOP

回復 5# zyzzyva


    原來如此~已經沒問題了

    原來可以這樣查顏色~

    感謝你的解答 :)

TOP

回復 6# Changbanana
不客氣。如果sheet1的id都會在sheet2出現,只是順序不一樣,那這樣就可以了;
如果不一定的話就要加上錯誤處理,不然match找不到的時候就會出現錯誤訊息。

TOP

回復 7# zyzzyva

對耶
   
因為剛剛在加資料後來又不行

正如同您所說"sheet1的id都會在sheet2出現",這是不一定的
        
sheet1的ID是當月全部資料

sheet2的ID是當月部份資料外加幾筆前幾個月的ID資料

那要該怎麼加上錯誤處理呢?

現在一直出現錯誤訊息0.0

TOP

回復 8# Changbanana
試試看。
  1. Dim myRow As Integer

  2. Sheets("工作表1").Activate
  3. Range("B2").Select
  4. Do While ActiveCell <> ""
  5.     If IsError(Application.Match(ActiveCell, Sheets("工作表2").Range("A:A"), 0)) Then
  6.         ActiveCell.Offset(1, 0).Select
  7.     Else
  8.         myRow = WorksheetFunction.Match(ActiveCell, Sheets("工作表2").Range("A:A"), 0)
  9.         
  10.         If Sheets("工作表2").Cells(myRow, "A").Interior.ColorIndex = 43 Then
  11.         Rows(ActiveCell.Row).Delete
  12.         Else
  13.             ActiveCell.Offset(1, 0).Select
  14.         End If
  15.         
  16.     End If
  17.    
  18. Loop
複製代碼

TOP

回復 9# zyzzyva


    謝謝你~
   
    沒想到可以利用match來做
   
    又學到了一課~~~

TOP

        靜思自在 : 【時間如鑽石】時間對一個有智慧的人而言,就如鑽石般珍貴;但對愚人來說,卻像是一把泥土,一點價值也沒有。
返回列表 上一主題