EXCEL VBA 二維表轉換成一維表

2021-06-13 07:18:21 字數 1608 閱讀 5827

excel  vba   二維表轉換成一維表 

sub 按鈕2_click()

rem 初始化

worksheets(1).activate

dim sizearr(5)

sizearr(0) = "xs"

sizearr(1) = "s"

sizearr(2) = "m"

sizearr(3) = "l"

sizearr(4) = "xl"

dim col, row, productnum, refcol, targetrow

targetrow = 1

sheet2.range("a1:a65536").clear

dim ia as integer

rem 交叉表轉一維表

for row = 3 to 65536: rem 處理行

if strcomp(sheet1.cells(row, 1), "") = 0 then goto line: rem 如果為空就中止處理

ia = asc(left(sheet1.cells(row, 1), 1))

rem 如果不是英文本元開頭,就跳過

if (ia >= 65 and ia <= 90) or (ia >= 97 and ia <= 122) then

for col = 3 to 7: rem 處理列

productnum = sheet1.cells(row, 1) & left(sheet1.cells(row, 2), 2)

rem 取尺碼對照表列號

if strcomp(left(productnum, 1), "k") = 0 then

refcol = 4

elseif strcomp(left(productnum, 1), "b") = 0 then

refcol = 3

elseif strcomp(left(productnum, 1), "c") = 0 then

refcol = 3

else

refcol = 2

end if

productnum = productnum & sheet3.cells(col - 1, refcol)

rem 取鋪貨件數,如果<=0,就跳過,否則插入一維表

if sheet1.cells(row, col) > 0 then

sheet2.cells(targetrow, 1) = productnum & "," & sheet1.cells(row, col)

targetrow = targetrow + 1

end if

next

end if

line:

next

if targetrow = 1 then

worksheets(1).activate

msgbox "二維表沒有資料!"

else

sheet2.range("d4").value = targetrow - 1

worksheets(2).activate

msgbox "生成成功!"

end if

end sub

一維表轉換成二維表

晚上回到宿舍,舍友問起我今天他們筆試的乙個題目 如何把乙個一維表轉換成二維表 sql查詢該如何寫呢?一維表table a如下 年級 課目 人數 2001 語文 20 2001 數學 15 2002 語文 20 2002 數學 15 2003 語文 20 2003 數學 15 如何轉換成如下格式的二維...

二維「陣列」轉換成二維「指標」

查詢了下資料,發現了論壇大家的討論。我們先看下二維陣列與二級指標問題 cannot convert from double 10 10 to double 例如 double arry 5 10 double pp pp arry 直接的賦值會提示錯誤 cannot convert from dou...

集合轉換成二維陣列

name month value 北京大廈 8 10000 南京大廈 6 4577 南京大廈 7 20222 南京大廈 8 23575 港匯大廈 7 14545 港匯大廈 8 54342 現在得到的上面的值,寫個方法把它儲存成以下格式 對應每個月相應的月份 北京大廈,0,0 0,0,0,0 0 10...