返回列表 上一主題 發帖

移動有顏色的列到其他sheet(小問題請教)

回復 4# jj369963
會發生溢位有可能是 Dim  i As Integer 的關係,
因為列號最大可達到65536 ,
所以建議改用 Dim  i As Long ,
較不易發生溢位的情形.

回復 10# jj369963
以你提供的範例檔案,
套用 9# 的程式並不會發生你所說的情形呢.
建議你對原始檔案中的需要格式化條件的所有儲存格,
再確認一次所套用的條件內容是否都一樣.

只要 Mark 所有需套用相同格式條件的儲存格,
再按 格式 -> 設定格式化條件 看看是否都是相同的條件公式,
若是你看到 "空白"(沒有內容) 的條件內容,
那就是被 Mark 的儲存格有不同的條件存在.
請確認看看.

TOP

本帖最後由 GBKEE 於 2013-11-7 15:23 編輯

回復 10# jj369963
如圖示依你6#的檔案執行7#的程式,
你說的執行語法後只有標題列移過去,格式化的列沒有移到對應的sheet,(百思不解..)
2003版中 RGB(3, 255, 101)  ->  傳回一個數值  Criteria1=RGB(3, 255, 101) -> 這函數傳回的數字
  1. 'xlFilterCellColor這參數為2010版的不適用2003
  2. ActiveSheet.Range("$A$1:$CQ$370").AutoFilter Field:=6, Criteria1:=RGB(3, 255, 101), Operator:=xlFilterCellColor
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 12# GBKEE


    Dear GBKEE 版大:
  
   非常謝謝您的回覆,而且回覆的好詳細,感謝。
『你說的執行語法後只有標題列移過去,格式化的列沒有移到對應的sheet,(百思不解..)』
  回覆:如附檔
不過我在想會不會是excel版本的差異(???),因為版大有執行出來,所以問題應該在我這邊。

  謝謝版大用心且詳細的回覆

只有移動標題.gif

TOP

回復 13# jj369963
2003版本與其他新版的格式化條件公式,
並不會因為作用中儲存格位置改變而變動相對參照的部分公式,
所以,還找不出可個別判斷條件成立與否的函數或方法
退而求其次,置換格式化條件公式的參照列位
  1. Sub ex()
  2. Dim A As Range, f As FormatCondition, Rng(1 To 2) As Range
  3. With Sheet1
  4.    For Each A In .Range(.[A2], .[C2].End(xlDown).Offset(, -2)).SpecialCells(xlCellTypeAllFormatConditions)
  5.       For i = 1 To A.FormatConditions.Count
  6.          If Evaluate(Replace(A.FormatConditions(i).Formula1, 1, A.Row)) > 0 Then
  7.             If Rng(i) Is Nothing Then Set Rng(i) = Union(.[A1], A) Else Set Rng(i) = Union(Rng(i), A)
  8.             Exit For
  9.          End If
  10.       Next
  11.     Next
  12. End With
  13. sht = Array("無帳密", "無作答")
  14. For i = 1 To 2
  15.    Rng(i).EntireRow.Copy Sheets(sht(i - 1)).[A1]
  16.    Sheets(sht(i - 1)).UsedRange.FormatConditions.Delete '清除格式化條件
  17. Next
  18. End Sub
複製代碼
學海無涯_不恥下問

TOP

回復 14# Hsieh

Dear  Hsieh 超版:

          非常感謝您的補充說明,還是一如既往的熱心,it works.
           真是太感謝了,也謝謝GBKEE熱心的指導
            感謝2位

TOP

        靜思自在 : 我們要做好社會的環保,也要做好內心的環保。
返回列表 上一主題