iT邦幫忙

0

請問要如何收集excel sheet1~100之資料?

binhsien 4 年前4135 瀏覽

請問各位大大我有以下 sheet1 ~ sheet100之資料, 格式均如下

編號 設備名稱
機器型號 機器序號
使用人 安裝位置

請問要如何收集成後轉成以下格式之資料

編號 設備 名稱 機器型號 機器序號 使用人 安裝位置
1
2
3
4
5
.
.
.
.
.
.
.
100

請協助提供公式及參數, 謝謝!

看更多先前的討論...收起先前的討論...
海綿寶寶 iT邦超人 1 級 ‧ 4 年前 檢舉
假設
Sheet2如下

Sheet3如下

Sheet4如下

Sheet5如下

則Sheet1結果如下

Sheet1公式如下
海綿寶寶 iT邦超人 1 級 ‧ 4 年前 檢舉
公式看不太清楚
重貼一次
=INDIRECT(CONCATENATE("sheet"&$A2+1,"!A2"))
蟹老闆 iT邦大師 2 級 ‧ 4 年前 檢舉
讚
蟹老闆 iT邦大師 2 級 ‧ 4 年前 檢舉
本來也要用函數去想,想不到好的方式,還是海綿寶寶利害
海綿寶寶 iT邦超人 1 級 ‧ 4 年前 檢舉
我不利害
Google三秒鐘就有了
做菜
海綿寶寶 iT邦超人 1 級 ‧ 4 年前 檢舉
什麼?VBA?

對不起,我不碰有英文的東西
逃跑
蟹老闆 iT邦大師 2 級 ‧ 4 年前 檢舉
對丫,因為用錄的比較快不用想偷笑
英文...我也不喜歡由其是說出口更難汗.........
蟹老闆 iT邦大師 2 級 ‧ 4 年前 檢舉
我只想到這個做法。
or I = 1 To Worksheets.Count - 1  
    Worksheets(I).Range("B1,D1").Copy  
    Worksheets(Worksheets.Count).Paste Destination:=Worksheets(Worksheets.Count).Range("A" & Worksheets(Worksheets.Count).Range("A65536").End(xlUp).Row + 1)  
    Worksheets(I).Range("B2,D2").Copy  
    Worksheets(Worksheets.Count).Paste Destination:=Worksheets(Worksheets.Count).Range("C" & Worksheets(Worksheets.Count).Range("C65536").End(xlUp).Row + 1)  
    Worksheets(I).Range("B3,D3").Copy  
    Worksheets(Worksheets.Count).Paste Destination:=Worksheets(Worksheets.Count).Range("E" & Worksheets(Worksheets.Count).Range("E65536").End(xlUp).Row + 1)  
    Next I  
End Sub  

收集資料的工作表需為最後一張工作表(如100)
蟹老闆 iT邦大師 2 級 ‧ 4 年前 檢舉

or I = 1 To Worksheets.Count - 1 


更正為

For I = 1 To Worksheets.Count - 1 

1 個回答

18
wiseguy
iT邦超人 1 級 ‧ 4 年前
最佳解答
  1. 先插一份新 sheet 準備放統計資料
  2. 在統計資料設備編號上面,先去參考取用 Sheet1 的設備編號,如圖:

  1. 你會得到一個參考位置,比如叫做 =Sheet1!B3 ,請把它改成 =INDIRECT("Sheet"&(ROW()-2)&"!$B$3")。其中那個 ROW()-2 是為了取得 Sheet1 的 1 這個值。
  2. 其它 Sheet1 的五個值依此類推。
  3. 輸入了 Sheet1 的六個值之後,接下來的 Sheet2 到 Sheet100 只要用 copy 的,或拖曳小黑點的方式複製就可以了。

我要發表回答

立即登入回答