返回列表 上一主題 發帖

[發問] 如何用迴圈,將ADD_M欄中有含字母併計

回復 1# s7659109
問題:如何用迴圈,將ADD_M欄中有含字母併計
如何合併 請再說詳細

你想要的是這樣嗎?
  1. ub Ex()
  2.     With Range(Cells(2, "C"), Cells(2, "C").End(xlDown))
  3.         .NumberFormatLocal = "G/通用格式"  '附檔的格式是文字
  4.         .Cells = .Value
  5.         .Offset(, 2).FormulaR1C1 = "=IF(ISNUMBER(RC[-2]),0,1)"
  6.         MsgBox "M欄中有含字母 共有 " & Application.Sum(.Offset(, 2))
  7.         '********************
  8.         '.Offset(, 2).FormulaR1C1 = "=ISNUMBER(RC[-2])"
  9.        'MsgBox "M欄中有含字母 共有 " &  Application.CountIf(.Offset(, 2), False)
  10.        .Offset(, 2) = ""
  11.     End With
  12. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 3# s7659109

問題要說清楚,才有人會回覆.
結果1 包含有"Y" 的資料,但為不包含有"Y"的只有183一筆
結果2 包含有"G" 的資料,但為不包含有"G"的有一大堆資料
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 5# s7659109
用進階篩選試試看
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Rng(1 To 3) As Range
  4.     Set Rng(1) = Range("B:D").SpecialCells(xlCellTypeConstants)    '**資料庫
  5.     Set Rng(2) = Cells(1, Columns.Count).Resize(2)                          '**資料庫的準則範圍,CriteriaRange
  6.     Set Rng(3) = Range("G2,K2")                                                       '**資料庫的準則範圍,CopyToRange
  7.     Rng(3)(1).CurrentRegion.Clear
  8.     Rng(3).Areas(2).CurrentRegion.Clear
  9.     '** 資料庫的準則為 "計算式準則",準則欄位名稱不可與 資料庫的欄位名稱相同 ****
  10.     Rng(2).Cells(1) = "TEST"                                                              '資料庫的準則欄位名稱
  11.     Rng(2).Cells(2) = "=VALUE(MID(ADD_M,1,1))<2"                    ''篩選資料庫的準則 , 計算式準則
  12.     '**MID(ADD_M,1,1) -> 資料庫欄位  "ADD_M" 的第一個字串"
  13.     '**=VALUE(MID(ADD_M,1,1))<2 第一個字串小於2
  14.      Rng(1).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Rng(2), CopyToRange:=Rng(3).Cells(1), Unique:=False
  15.      Rng(3).Cells(0) = "小計"
  16.      Rng(3).Cells(0, 3) = Application.Sum(Rng(3).Cells(0, 3).EntireColumn)     
  17.      Rng(2).Cells(2) = "=VALUE(MID(ADD_M,1,1))>=2"
  18.      '**=VALUE(MID(ADD_M,1,1))<2 第一個字串大於等於2
  19.      Rng(1).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Rng(2), CopyToRange:=Rng(3).Areas(2), Unique:=False
  20.      Rng(3).Areas(2).Cells(0) = "小計"
  21.      Rng(3).Areas(2).Cells(0, 3) = Application.Sum(Rng(3).Areas(2).Cells(0, 3).EntireColumn)
  22.     Rng(2).Clear
  23. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 7# s7659109
擴大資料庫的準則範圍為二欄
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Rng(1 To 3) As Range
  4.     Set Rng(1) = Range("B:D").SpecialCells(xlCellTypeConstants)    '**資料庫
  5.     Set Rng(2) = Cells(1, Columns.Count - 1).Resize(2, 2)                       '**資料庫的準則範圍,CriteriaRange
  6.     Set Rng(3) = Range("G2,K2")                                                       '**資料庫的準則範圍,CopyToRange
  7.     Rng(3)(1).CurrentRegion.Clear
  8.     Rng(3).Areas(2).CurrentRegion.Clear
  9.     '** 資料庫的準則為 "計算式準則",準則欄位名稱不可與 資料庫的欄位名稱相同 ****
  10.    
  11.     Rng(2).Cells(1, 1) = "TEST"                                                             '資料庫的準則欄位名稱
  12.     Rng(2).Cells(2, 1) = "=VALUE(MID(ADD_M,1,1))<2"                   ''篩選資料庫的準則 , 計算式準則
  13.     Rng(2).Cells(1, 2) = "ADD"                                                             '資料庫的準則欄位名稱
  14.     Rng(2).Cells(2, 2) = "A001"                                                           ''篩選資料庫的準則
  15.    
  16.     '**MID(ADD_M,1,1) -> 資料庫欄位  "ADD_M" 的第一個字串"
  17.     '**=VALUE(MID(ADD_M,1,1))<2 第一個字串小於2
  18.      Rng(1).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Rng(2), CopyToRange:=Rng(3).Cells(1), Unique:=False
  19.      Rng(3).Cells(0) = "小計"
  20.      Rng(3).Cells(0, 3) = Application.Sum(Rng(3).Cells(0, 3).EntireColumn)
  21.      Rng(2).Cells(2, 1) = "=VALUE(MID(ADD_M,1,1))>=2"
  22.      '**=VALUE(MID(ADD_M,1,1))<2 第一個字串大於等於2
  23.      Rng(1).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Rng(2), CopyToRange:=Rng(3).Areas(2), Unique:=False
  24.      Rng(3).Areas(2).Cells(0) = "小計"
  25.      Rng(3).Areas(2).Cells(0, 3) = Application.Sum(Rng(3).Areas(2).Cells(0, 3).EntireColumn)
  26.     Rng(2).Clear
  27. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 10# s7659109

Excel程式區是討論如何使用VBA.學習,發問.
附檔xlsx是沒有程式碼的Excel檔.至少給點程式碼.
多少要認識一下VBA,給你程式碼才對你有幫助.
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 有多少力量就做多少事,不要心存等待,等待才會落空。
返回列表 上一主題