返回列表 上一主題 發帖

[發問] EXCEL可以將儲存格內容對應到工作表做處理嗎?

[發問] EXCEL可以將儲存格內容對應到工作表做處理嗎?

本帖最後由 kaosh22 於 2015-3-24 21:31 編輯

各位前輩大家好
小弟希望利用EXCEL將原始資料的料表轉換成較詳細的內容
以下是圖文說明


1.原始資料為A欄~D欄,目前我可以用簡單的程式將A欄字串分割為F~I欄



2.F2的內容是AS1,希望能自動將4,15,9,20對應到AS1工作表的欄位裡



3.將已更新的表格複製純文字到結果工作表內,之後再依序將SHEET1的F3~F6作相同處理,希望最後的成果如下圖


這邊因為原始資料的命名原則,會出現如F4,F5都是相同的FS1,所以才會希望先讀完F2的內容後再依序向下作業
因為要處理的資料有時可能會到幾百筆,這邊只是先打出一些例子,希望可以透過VBA減少處理的速度
如果大家有更好的想法也請不吝提出,謝謝

範例.rar (8.47 KB)

EXCEL 文件

回復 1# kaosh22

圖一  AS1-1-0805  如何得到->        4        15        9        20
圖二,圖三 如何帶入結果.
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

非常抱歉,那個是自己想填其他值去測試沒改回來
應該是 AS1-1-0805 →  1   8   5   1  ,最後的1是把Q'TY的值直接複製過去
圖片二是將1,8,5,1帶入工作表有上色的儲存格後將料表更新
最後才會是圖片三的樣子
原本的內容好像不能編輯了,我把改過的附檔也一併附上

圖一.


圖二.


圖三.


範例-已修正.rar (11.96 KB)

TOP

回復 3# kaosh22
1# 有說:這邊因為原始資料的命名原則,會出現如F4,F5都是相同的FS1,
3# 圖片二是將1,8,5,1帶入工作表有上色的儲存格後將料表更新
當F4,F5都是相同的FS1 要如何帶入FS1(工作表)有上色的儲存格.
  1. Option Explicit
  2. Sub Ex_圖一()
  3.     Dim Ar(), Ay(1 To 5), i As Integer, Sp As Variant
  4.     With Sheets("SHEET1")
  5.         i = 2
  6.         Do While .Cells(i, "A") <> ""
  7.             Erase Ay
  8.             ReDim Preserve Ar(1 To i - 1)
  9.             Sp = Split(.Cells(i, "A"), "-")
  10.             Ay(1) = Sp(0)
  11.             Ay(2) = Sp(1)
  12.             Ay(3) = Mid(Sp(2), 1, 2)
  13.             If Len(Sp(2)) > 2 Then Ay(4) = Mid(Sp(2), 3, 2)
  14.             Ay(5) = .Cells(i, "C")
  15.             Ar(i - 1) = Ay
  16.             i = i + 1
  17.         Loop
  18.         .Range("F2").Resize(i - 2, 5) = Application.Transpose(Application.Transpose(Ar))
  19.     End With
  20. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

GBKEE板大你好,感謝你的回覆
請問是要問有重覆值的情況要如何處理嗎?

另外想問一下內文的程式,我在巨集開啟後沒有作用
想問執行後會出現什麼動作??
謝謝

TOP

回復 5# kaosh22
當F4,F5都是相同的FS1 , 你要取哪一筆資料到FS1(工作表)有上色的儲存格.

F-J 欄清空後,執行程式看看.
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

因為原始資料的區分方式是取決G欄的type與後面的數字格式
2筆FS1都需要抓後面的值來取得不同的料

所以才想問問看是否有辦法抓完F4欄的FS1後
能否有辦法繼續處理F5欄內的FS1

問題有點多,如有更好的方式也歡迎指正
另外一開始的巨集可以用,謝謝版大

TOP

各工作A欄使用vlookup(H$2&ROW(N1),N1:R9,3,FALSE)
B 3→4
C 3→5
D 3→6
用此函數配合N欄(N2=O3&COUNTIF(O$2:O3,O3)),可將紫色格內的值對應到O欄的項目
就可以把no.1~4的P,Q,R欄對應到A,B,C欄

下面的列只是將對應的ROW( )更改數字

TOP

回復 8# kaosh22

各工作A欄使用vlookup(H$2&ROW(N1),N1:R9,3,FALSE) 這我了解
為何各工作的筆數不同,是如何決定各工作的筆數

感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

工作筆數是指AS1有2筆,FS2卻有6筆這樣嗎?

因為一開始的原始資料僅有敘述這個TAG是什麼東西
例如:FS2-2-08是FIELD SUPPORT
但是這個SUPPORT是由好幾個零件組合而成
所以開頭的AS1會有2個零件,FS2會有6個零件

而我們會有一本厚厚的support standard
上面有紀錄這組support會有多少個零組件

TOP

        靜思自在 : 要用心,不要操心、煩心。
返回列表 上一主題