標題:
[發問]
EXCEL可以將儲存格內容對應到工作表做處理嗎?
[打印本頁]
作者:
kaosh22
時間:
2015-3-24 21:28
標題:
EXCEL可以將儲存格內容對應到工作表做處理嗎?
本帖最後由 kaosh22 於 2015-3-24 21:31 編輯
各位前輩大家好
小弟希望利用EXCEL將原始資料的料表轉換成較詳細的內容
以下是圖文說明
1.原始資料為A欄~D欄,目前我可以用簡單的程式將A欄字串分割為F~I欄
[attach]20503[/attach]
2.F2的內容是AS1,希望能自動將4,15,9,20對應到AS1工作表的欄位裡
[attach]20505[/attach]
3.將已更新的表格複製純文字到結果工作表內,之後再依序將SHEET1的F3~F6作相同處理,希望最後的成果如下圖
[attach]20506[/attach]
這邊因為原始資料的命名原則,會出現如F4,F5都是相同的FS1,所以才會希望先讀完F2的內容後再依序向下作業
因為要處理的資料有時可能會到幾百筆,這邊只是先打出一些例子,希望可以透過VBA減少處理的速度
如果大家有更好的想法也請不吝提出,謝謝
作者:
GBKEE
時間:
2015-3-25 06:23
回復
1#
kaosh22
圖一 AS1-1-0805 如何得到-> 4 15 9 20
圖二,圖三 如何帶入結果.
作者:
kaosh22
時間:
2015-3-25 07:08
非常抱歉,那個是自己想填其他值去測試沒改回來
應該是 AS1-1-0805 → 1 8 5 1 ,最後的1是把Q'TY的值直接複製過去
圖片二是將1,8,5,1帶入工作表有上色的儲存格後將料表更新
最後才會是圖片三的樣子
原本的內容好像不能編輯了,我把改過的附檔也一併附上
圖一.
[attach]20511[/attach]
圖二.
[attach]20512[/attach]
圖三.
[attach]20514[/attach]
[attach]20516[/attach]
作者:
GBKEE
時間:
2015-3-25 08:17
回復
3#
kaosh22
1# 有說:這邊因為原始資料的命名原則,會出現如F4,F5都是相同的FS1,
3# 圖片二是將1,8,5,1帶入工作表有上色的儲存格後將料表更新
當F4,F5都是相同的FS1 要如何帶入FS1(工作表)有上色的儲存格.
Option Explicit
Sub Ex_圖一()
Dim Ar(), Ay(1 To 5), i As Integer, Sp As Variant
With Sheets("SHEET1")
i = 2
Do While .Cells(i, "A") <> ""
Erase Ay
ReDim Preserve Ar(1 To i - 1)
Sp = Split(.Cells(i, "A"), "-")
Ay(1) = Sp(0)
Ay(2) = Sp(1)
Ay(3) = Mid(Sp(2), 1, 2)
If Len(Sp(2)) > 2 Then Ay(4) = Mid(Sp(2), 3, 2)
Ay(5) = .Cells(i, "C")
Ar(i - 1) = Ay
i = i + 1
Loop
.Range("F2").Resize(i - 2, 5) = Application.Transpose(Application.Transpose(Ar))
End With
End Sub
複製代碼
作者:
kaosh22
時間:
2015-3-25 08:48
GBKEE板大你好,感謝你的回覆
請問是要問有重覆值的情況要如何處理嗎?
另外想問一下內文的程式,我在巨集開啟後沒有作用
想問執行後會出現什麼動作??
謝謝
作者:
GBKEE
時間:
2015-3-25 08:59
回復
5#
kaosh22
當F4,F5都是相同的FS1 , 你要取哪一筆資料到FS1(工作表)有上色的儲存格.
F-J 欄清空後,執行程式看看.
作者:
kaosh22
時間:
2015-3-25 10:08
因為原始資料的區分方式是取決G欄的type與後面的數字格式
2筆FS1都需要抓後面的值來取得不同的料
所以才想問問看是否有辦法抓完F4欄的FS1後
能否有辦法繼續處理F5欄內的FS1
問題有點多,如有更好的方式也歡迎指正
另外一開始的巨集可以用,謝謝版大
作者:
kaosh22
時間:
2015-3-25 11:21
各工作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( )更改數字
作者:
GBKEE
時間:
2015-3-25 13:14
回復
8#
kaosh22
各工作A欄使用vlookup(H$2&ROW(N1),N1:R9,3,FALSE) 這我了解
為何各工作的筆數不同,是如何決定各工作的筆數
[attach]20520[/attach]
作者:
kaosh22
時間:
2015-3-25 13:35
工作筆數是指AS1有2筆,FS2卻有6筆這樣嗎?
因為一開始的原始資料僅有敘述這個TAG是什麼東西
例如:FS2-2-08是FIELD SUPPORT
但是這個SUPPORT是由好幾個零件組合而成
所以開頭的AS1會有2個零件,FS2會有6個零件
而我們會有一本厚厚的support standard
上面有紀錄這組support會有多少個零組件
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)