[算表] VBA 偵測表格大小並分類
軟體:excel
版本:2013
一個變動大小且每列數不一的表格在sheets(1)
想用VBA抓取重新整理表格到sheets(2)
Sheets(1)
a b c d e
1 一組 二組 三組 四組 五組
2 甲 乙 丙 丁
3 戊 己 庚
4 辛
5
sheet(2)
1 甲 一組
2 乙 二組
3 丙 三組
4 丁 四組
5 戊 一組
6 己 三組
7 庚 四組
8 辛 三組
這種情況該如何做呢? 謝謝各位
我自問自答了:
Public Sub 所屬單位2()
'宣告動態陣列M
Dim M()
'計算欄數
a = Sheets(1).Range("A1").End(xlToRight).Column
'將每一欄的最後一列列號寫入M()
For j = 1 To a
ReDim Preserve M(j)
M(j) = Sheets(1).Cells(1000, j).End(xlUp).Row
Next
'取M中最大值為表格下界
b = WorksheetFunction.Max(M)
'逐一比對資料,將對應者填入報表
For i = 2 To Range("A2").End(xlDown).Row
For Each cell In Sheets(1).Range(Sheets(1).Cells(1, 1),
Sheets(1).Cells(b, a))
If Cells(i, "A") = cell Then
Cells(i, "B") = Sheets(1).Cells(1, cell.Column)
End If
Next
Next
End Sub
Public Sub 人員()
x = 2
For i = 1 To Sheets(1).Range("A1").End(xlToRight).Column
For j = 2 To Sheets(1).Cells(10000, i).End(xlUp).Row
If Sheets(1).Cells(j, i) <> 0 Then
Cells(x, 1) = Sheets(1).Cells(j, i)
x = x + 1
End If
Next
Next
Call 所屬單位2
End Sub
_____________________________________________________________________________
但是還是想了解一下S大的方法,S大的方法總是精闢!!
但在做出來之後我又想把它弄成自訂函數
但是在第一步就卡住了
Public Function 人員整理(M)
宣告完後,M陣列將去選去sheets(1)的表格,下一步我想讀取我選取M的SIZE
也就是M有幾列幾行,該如何做呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.24.20.1
※ 文章網址: https://www.ptt.cc/bbs/Office/M.1489165274.A.C97.html
→
03/11 01:02, , 1F
03/11 01:02, 1F
→
03/11 12:01, , 2F
03/11 12:01, 2F
→
03/11 12:03, , 3F
03/11 12:03, 3F
→
03/11 12:05, , 4F
03/11 12:05, 4F
→
03/11 12:05, , 5F
03/11 12:05, 5F
→
03/11 12:08, , 6F
03/11 12:08, 6F
→
03/11 12:10, , 7F
03/11 12:10, 7F
→
03/11 12:10, , 8F
03/11 12:10, 8F
→
03/11 12:17, , 9F
03/11 12:17, 9F
→
03/11 12:18, , 10F
03/11 12:18, 10F
→
03/11 15:35, , 11F
03/11 15:35, 11F
※ 編輯: o1o3o1o31030 (223.136.251.213), 03/11/2017 19:41:52
→
03/11 23:30, , 12F
03/11 23:30, 12F
→
03/11 23:30, , 13F
03/11 23:30, 13F
→
03/12 11:23, , 14F
03/12 11:23, 14F
→
03/12 11:25, , 15F
03/12 11:25, 15F
→
03/12 11:25, , 16F
03/12 11:25, 16F
→
03/12 12:34, , 17F
03/12 12:34, 17F
→
03/12 15:13, , 18F
03/12 15:13, 18F
Office 近期熱門文章
PTT數位生活區 即時熱門文章