Board logo

標題: 公式與VBA 儲存格資料連結 [打印本頁]

作者: t591nm    時間: 2015-8-11 14:10     標題: 公式與VBA 儲存格資料連結

設有三個工作表 Sheet1 Sheet2 Sheet3 Sheet4
Sheet1為測量後所得data
Sheet2為整理過後的量測整理表
Sheet3為量測標示卡
Sheet4為公式標籤卡

Sheet3內的資料要參照Sheet2
Sheet4內的資料要參照Sheet1與Sheet2
我用最笨的方法把需要參照的資料用=該儲存格的方式來連結
但是.....假如我要連結的格數很多的話......這樣效率不佳
所以想請教各位大大有沒有什麼方法呢
除了公式外還會錄製成巨集
目前有想到用資料驗證
可是我所需要連結的資料是屬於非連續性(即儲存格與資料不連續)
目前腦子空白不知道怎麼下手
範例檔如附件所示
十分感謝大家

[attach]21686[/attach]
作者: t591nm    時間: 2015-8-11 15:09

忘記說明一點
Sheet1會隨著每一年所量測的data不同而使得欄位可能不同(PF欄位的增減,故C0與C1的欄位無法固定)
作者: mark15jill    時間: 2015-8-11 15:58

忘記說明一點
Sheet1會隨著每一年所量測的data不同而使得欄位可能不同(PF欄位的增減,故C0與C1的欄位無法固 ...
t591nm 發表於 2015-8-11 15:09


在下資質愚昧,看不懂運行過程
是否可稍微簡述?
例如
sheet4的取得來源? 分別參考?
電極徑/C0       
負荷容量:       
F1.        30
F2.        31
F3.        32
作者: t591nm    時間: 2015-8-11 16:40

回復 3# mark15jill

抱歉未說明到
Sheet3的儲存格資料分為連結資料與範本
連結資料即是必須連結所需的儲存格內容
範本則為該檔案的預設文字
以第一個標示卡A1:E6為例
B2為Sheet2的B4(編號連編號)
B3為Sheet2的B4(頻率連公用頻率)
B4為Sheet2的B9(型號連型別)
C4為Sheet2的B7(電極徑連電極徑)
B5為Sheet2的B22(製作日期連結發行日)
B6為Sheet2的B12(發布連結發布單位)
C6:E6為Sheet2的C12:E12(號碼連號碼)

而下方則是要告訴別人各式PF的STD NO,一個共用NO欄位即為一份,亦代表此份量測的所有STD NO
A20為Sheet2的G2(連STD NO,PF不同自然STD NO也不同)


而Sheet4以第一個標示卡A1:F11為例
C2:C6為Sheet2的B22:B7(製造日期連發行日,編號連第一個STD NO(PF不同自然STD NO也不同),頻率連公用頻率,驅動電力連驅動電力,電極徑連電極徑)

C7:D7為Sheet2的G3:H3(連各CL名稱)
E7:F7為Sheet1的K4:L4(連C0 C1名稱)
B8:B10為Sheet2的F4:F6(號碼連號碼)
C8:D10為Sheet2的G4:H6(各連該CL的DATA)
E8:F10為Sheet1的K7:L9(連該顆號碼的CO C1的DATA)
C11為Sheet2的G2(連STD NO,PF不同自然STD NO也不同)(目的是條碼)


最主要是不同顆的數字及項目會連相對應的DATA
作者: lpk187    時間: 2015-8-12 09:58

本帖最後由 lpk187 於 2015-8-12 10:00 編輯

回復 4# t591nm

我想先請問一下樓主
    Sheet3和Sheet4是最終要列印出來結果嗎?
作者: t591nm    時間: 2015-8-12 10:07

回復 5# lpk187


您好
Sheet1~Sheet4都會列印出來
作者: lpk187    時間: 2015-8-12 10:19

本帖最後由 lpk187 於 2015-8-12 10:25 編輯

回復 6# t591nm

那現在的版面設定已經是最終格式了嗎?
因為我想既然是輸出的格式,那一定是要有固定的模式才行!我想若已是最後格式,那也一定可以稍做改變!
若不是是否提供最後版面設定好的格式出來,以方便程式的流程!
作者: t591nm    時間: 2015-8-12 10:24

回復 7# lpk187

您好
我是有刪除一些與此問題無關的儲存格內容
請問這樣有何影響呢
作者: lpk187    時間: 2015-8-12 10:27

本帖最後由 lpk187 於 2015-8-12 10:34 編輯

回復 8# t591nm


    程式在走都是有固定的方式,不可能今天在B2明天在C2的
但我們可以指定依你要列印出來的數量來自動產生
而不是隨便亂放,程式不會這樣跑的!
而且Sheet1和Sheet2你曾說過會增加資料的,那就把Sheet3、Sheet4固定格式,不是更方便資料的注入嗎?
作者: t591nm    時間: 2015-8-12 10:46

回復 9# lpk187

其實Sheet2是連結於Sheet1的
而Sheet3~Sheet4是連結於Sheet2
而Sheet1是貼上量測的DATA
故Sheet1會因為量測的東西不同而產生單筆或多筆PF值
自然會影響到後面Sheet2~Sheet4
Sheet2~Sheet4格式上都是固定的
差別在於PF的多寡會影響到秀出相關PF的DATA欄位

其實公司前輩在以往檔案的格式有設定連結
例如 =Sheet2!G4等等
但是我為了避免有些儲存格未設定到
故才想去修改這樣的連結方式(錄製巨集及設定連結)
而且只要新增了一筆PF Sheet3與Sheet4格式都會跑掉
所以才會想是否有其他的方式
避免整理每批的量測資料時都還要手動去連結那些
以上淺見
感謝大大
作者: lpk187    時間: 2015-8-12 11:19

回復 10# t591nm

嗯!我這樣說好了

假設目前的原來Sheet1為“資料庫”,當今天我要列印從第40項到45項時,只要我輸入範圍從40到45
而後來再產生4張要列印Sheet,我們假設為Sheet1、Sheet2、Sheet3、Sheet4,就會自動產生出來的只有第40項到45項
然後做確認==>列印

你覺得這是不是為你要的結果?
作者: t591nm    時間: 2015-8-12 11:39

回復 11# lpk187


您好
這樣聽起來有點模糊
是不是類似合併列印呢
好像是將目前的樣式套用所需抓取的資料
作者: mark15jill    時間: 2015-8-12 12:20

回復 10# t591nm


    妳新增一筆RF   Sheet3 Sheet4會跑掉的原因可能在於   指向對照的部分   
    例如  Sheet3.[a2] = Sheet1.[q2]
            現在新增一欄的資料 使 原本的Sheet1.[q2] 變成 Sheet1.[r2] ... 這樣Sheet3.[a2]的資料當然會跑掉..
作者: t591nm    時間: 2015-8-12 13:04

回復 13# mark15jill


是的
沒錯
作者: ML089    時間: 2015-8-12 21:51

回復 14# t591nm

公式會因為插入及刪除改變公式裡的位置,
一般資料最好在其他位置整理好,再用複製貼上方式就不會影響公式。

另外公式中 也可以使用 offset 函數來替代 儲存格位置,比較不會受影響。
作者: t591nm    時間: 2015-8-13 09:31

回復 15# ML089

原來如此
謝謝版主
我再試試
因為自己所面臨到的是不同種類的量測
故欄位會有增減
較無法固定
作者: mark15jill    時間: 2015-8-13 10:24

回復 16# t591nm


   或用另外一種比較耗時間的方式...

    用欄位去鎖定關鍵字(例如RF )
作者: t591nm    時間: 2015-8-13 11:02

回復 17# mark15jill

運用函數進行比對嗎




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