返回列表 上一主題 發帖

有條件取代儲存格內容

有條件取代儲存格內容

取代.rar (34.07 KB) 請問可否解決這問題

回復 1# mmggmm
1. 你的程式有設密碼, 所以看不到原始碼, 不能參照原始碼做修改
2. 敘述中的 :

請問可否改為SHEET"POST"O2:O10名單保留
SHEET"POST"O11:O45名單設定有"NO"和 "YES"
如果在SHEET"POST"G:G為"NO"則屬"YES"保留其他用"X"取代


中看不出來 "NO"和 "YES" 兩者有什麼不同.

而你所舉範例的 H7:AL7 只有 E08、O 與 A 三種值,
A 與 O 是你說要 "保留" 的部份,
而 E08 則屬於 "NO" 的部份,
其中沒有 "YES" 部分的範例資料.

所以無從下手修改.

TOP

MM.rar (33.18 KB)

TOP

回復 3# mmggmm
"如果在SHEET"POST"G:G為"NO"則屬"YES"保留其他用"X"取代"
這句話可以再白話些嗎?

TOP

NNN.rar (38.22 KB) 其實我原是用兩表分別執行,現想兩表一次執行巨集完成

TOP

回復 5# mmggmm
是這樣嗎?
  1. Sub Ex()
  2.     Dim Ay(1), Y
  3.     With Sheets("POSIT")
  4.         Ay(0) = Application.Transpose(.Range("O2:O" & .Range("O" & Rows.Count).End(xlUp).Row))
  5.         Ay(1) = Application.Transpose(.Range("P2:P" & .Range("P" & Rows.Count).End(xlUp).Row))
  6.     End With
  7.     For Each A In ActiveSheet.[H3:AL400]
  8.         Y = Application.Match(A, Ay(0), 0)
  9.         If IsError(Y) Then
  10.             A.Value = "X"
  11.         ElseIf Y > 0 And Cells(A.Row, "G") <> Ay(1)(Y) Then
  12.             A.Value = "X"
  13.         End If
  14.     Next
  15. End Sub
複製代碼

TOP

GBKEE :
我目的是將"NO"和"YES"兩頁合併在一頁執行取代,可能兩頁各有不同條件取代而變得複雜了,請看看附件中我在"POSIT"中的說明是否明白一些. MM2.rar (34.52 KB)

TOP

本帖最後由 GBKEE 於 2011-7-3 11:26 編輯

回復 7# mmggmm
此區(P16:Q24)在執行巨集後必定保留
不管sheet"Meals"G:G是屬"YES" "NO" 都保留嗎?

Q2:Q14 是NO     ->sheet"Meals"G:G是屬"YES"必定保留
Q25:Q36 是YES  ->sheet"Meals"G:G是屬"NO"必定保留
請問POSIT 的P欄所有資料會重復嗎?
P15:Q15為何是空白的

TOP

GBKEE:
P欄資料不會重復,P15:Q15可以刪除,因為先前是有資料的.謝謝

TOP

回復 9# mmggmm
依據 7樓附檔修改的
  1. Sub Ex()
  2.     Dim Ay(1), Y
  3.     With Sheets("POSIT")
  4.         Ay(0) = Application.Transpose(.Range("P2:P" & .Range("P" & Rows.Count).End(xlUp).Row))
  5.         Ay(1) = Application.Transpose(.Range("Q2:Q" & .Range("O" & Rows.Count).End(xlUp).Row))
  6.     End With
  7.     For Each A In ActiveSheet.[H3:AL400]
  8.         Y = Application.Match(A, Ay(0), 0)
  9.         If IsError(Y) Then
  10.             A.Value = "X"
  11.         ElseIf Y > 0 Then
  12.             If (Y <= 14 Or Y >= 24) And Cells(A.Row, "G") = Ay(1)(Y) Then A.Value = "X"
  13.         End If
  14.     Next
  15. End Sub
複製代碼

TOP

        靜思自在 : 人要自愛,才能愛普天下的人。
返回列表 上一主題