返回列表 上一主題 發帖

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

回復 2# kimbal


    Dear kimbal 版大 :
  
  Thanks your reply, but it didn't work.
1.資料筆少時,有搬移但是未搬移完全
2.資料筆多時完全沒反應

如附檔,請參閱

reply_1.rar (65.11 KB)

TOP

本帖最後由 jj369963 於 2013-11-1 22:03 編輯

回復 3# GBKEE

sorry謝謝提醒,如附檔

也謝謝版大的積極回應

test_m.rar (62.78 KB)

TOP

回復 3# GBKEE


    Dear GBKEE 版主:
   
              謝謝您的回應,但是出現一點問題

            如果您有空,可以再麻煩您看一下

         感謝

TOP

回復 1# jj369963
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Sh(1 To 2) As Worksheet, i As Integer, R As Integer
  4.     Set Sh(1) = Sheets("無帳密")
  5.     Set Sh(2) = Sheets("無作答")
  6.      Sh(1).UsedRange.Clear
  7.      Sh(2).UsedRange.Clear
  8.     With Sheets("sheet0")
  9.         Sh(1).Rows(1) = .Rows(1).Value
  10.         Sh(2).Rows(1) = .Rows(1).Value
  11.         .Activate
  12.         i = 2
  13.         Do While .Cells(i, "a").FormatConditions.Count = 2
  14.             '2003版 儲存格設定格式化可有3個條件可設公式
  15.             .Cells(i, "a").Select          '需在設定格式化的儲存,方可計算設定格式化條件公式是否成立
  16.             If Application.Evaluate(.Cells(i, "a").FormatConditions(1).Formula1) Then       '計算設定格式化第1個條件公式是否成立
  17.                 R = Sh(1).UsedRange.Rows.Count + 1                                          '計算 UsedRange.Rows 的總數+1
  18.                 Sh(1).Rows(R) = .Cells(i, "a").EntireRow.Value
  19.             ElseIf Application.Evaluate(.Cells(i, "a").FormatConditions(2).Formula1) Then   '計算設定格式化第2個條件公式是否成立
  20.                 R = Sh(2).UsedRange.Rows.Count + 1
  21.                 Sh(2).Rows(R) = .Cells(i, "a").EntireRow.Value
  22.             End If
  23.             i = i + 1
  24.         Loop
  25.     End With
  26. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 1# jj369963

老版EXCEL不能經VBA選出"條件格式"的顏色.
可以真表用代碼寫出
  1. Sub test()

  2.     Dim lngRowPwd As Long, lngRowNoAns As Long
  3.     lngRowPwd = 1
  4.     lngRowNoAns = 1
  5.     For Each c In Range(Range("A1"), Range("A65536").End(xlUp))
  6.         If Application.WorksheetFunction.CountA(Range(c, c.Offset(0, 1))) = 0 Then 'A:B
  7.             Worksheets("無帳密").Rows(lngRowPwd).Value = Rows(c.Row).Value
  8.             lngRowPwd = lngRowPwd + 1
  9.         ElseIf Application.WorksheetFunction.CountA(Range(c.Offset(0, 7), c.Offset(0, 94))) <> 88 Then 'H:CQ
  10.             Worksheets("無作答").Rows(lngRowNoAns).Value = Rows(c.Row).Value
  11.             lngRowNoAns = lngRowNoAns + 1
  12.         End If

  13.     Next
  14. End Sub
複製代碼
懂得發問,答案就會在其中

今日の一秒は  明日にない
http://kimbalko-chi.blogspot.com
http://kimbalko.blogspot.com

TOP

        靜思自在 : 為自己找藉口的人永遠不會進步。
返回列表 上一主題