Board logo

標題: [發問] 以巨集抓取指定顏色資料 [打印本頁]

作者: msmplay    時間: 2016-11-27 02:25     標題: 以巨集抓取指定顏色資料

[attach]25940[/attach]
請問如何以巨集方式,按下上方【匯入】扭,即可將庫存活頁A:W欄所有的藍色字體與綠色字體的「品牌」與「庫存」
抓到A、B欄與D、E欄,例如左側,條件如下:

1. 只要抓藍字與綠字的品牌資料與庫存數,其餘顏色資料不需要。
2. 字體、粗體、大小都可能不一樣,所以希望以顏色區分即可。
3. 每天庫存資料數會有多有少,不能以每欄固定列數來抓。
例如 F:G欄的藍字庫存為F23:G42,但下次資料來源可能少一筆會變成F23:G40,但如果多一筆則變成F23:G44
4. 不用排序,所以只要將資料抓到A、B欄與D、E欄就好,從前往後、從後往前抓資料都沒差



[attach]25941[/attach]
作者: 准提部林    時間: 2016-11-27 13:37

〔項次.品牌.數量〕的文字顏色不一致,以〔數量〕為主:
  1. Sub 匯入()
  2. Dim R&, xArea As Range, xR As Range, xE(1 To 2) As Range, i%, C%, N%
  3. With Sheets("匯整")
  4.     .UsedRange.Offset(1, 0).EntireRow.Delete
  5.      Set xE(1) = .[A2]: Set xE(2) = .[D2]
  6. End With

  7. With Sheets("庫存").UsedRange
  8.      R = .Rows.Count - 22: If R <= 0 Then Exit Sub
  9.      Set xArea = .Rows(23).Resize(R)
  10. End With

  11. For i = 3 To xArea.Columns.Count Step 4
  12.     For Each xR In xArea.Columns(i).Cells
  13.         N = 0: C = xR.Font.ColorIndex
  14.         If C = 5 Then N = 1
  15.         If C = 10 Then N = 2
  16.         If xR = "" Or N = 0 Then GoTo 101
  17.         R = xR.MergeArea.Rows.Count
  18.         xR(1, 0).Resize(R, 2).Copy xE(N)
  19.         Set xE(N) = xE(N)(R + 1)
  20. 101: Next
  21. Next i
  22. End Sub
複製代碼
 
[attach]25947[/attach]
 
 
作者: msmplay    時間: 2016-11-27 15:32

回復 2# 准提部林

   准大~~~首先非常感謝幫忙喔!!但小妹測試後發現遇到問題已發問在附檔內,可以再麻煩你幫忙看一下原因嗎??真是不好意思耶~~~

[attach]25951[/attach]
作者: 准提部林    時間: 2016-11-27 16:24

回復 3# msmplay


1. 套用上公司庫存表格式,無法抓取所有綠字庫存
_我這裡執行沒問題,是否office版本問題(我是2000),這我無法解決
 
2. 非合併儲存格無法抓取,例如:「庫存」R37:S38非合併儲存格,R38就沒有抓到,因為「匯整」A76只抓到一個TEST
_表格合併不規則,很難判斷,只能以〔數量〕為主,所以同一群組的數量,必須先〔合併〕

3. 是否可設定抓取資料範圍,因為只需抓取「庫存」A23:W122範圍資料,A23以上顏色資料無需抓取
_程式已限制只匯入第22列以下的資料

最好有其他大大用office 2010改一下程式!!我僅能做到這樣!
作者: msmplay    時間: 2016-11-27 18:56

回復 4# 准提部林

   准大~~~~可以請教一下在以上巨集內,我該怎麼修改我想指定的顏色呢?因為我發現好像是公司庫存表用色不統一的問題,謝謝你ㄛ~~~~
作者: 准提部林    時間: 2016-11-27 19:13

回復 5# msmplay

選定一個儲存格, 執行以下取得文字色碼
Sub TEST()
MsgBox ActiveCell.Font.ColorIndex
End Sub
作者: msmplay    時間: 2016-11-27 19:41

回復 6# 准提部林


   准大~~~~~果然是顏色不一樣的問題,取得文字色碼後再修改一下,已經成功了~~~~~~~~~~~~~~~~~~超感謝超感謝超感謝你的yo
作者: msmplay    時間: 2016-12-1 20:44

回復 2# 准提部林


   准大~~不好意思又來打擾你了,可以請教一下如果小妹需要新增抓取條件,你可以幫我改一下嗎??


[attach]25982[/attach]


[attach]25983[/attach]
作者: 准提部林    時間: 2016-12-1 21:24

回復 8# msmplay


多做一次就可以:
[attach]25984[/attach]
作者: msmplay    時間: 2016-12-1 22:28

回復 9# 准提部林


   准大~~~~非常感謝你yo




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)