Board logo

標題: [發問] 有辦法單獨去除陣列內的某欄位或是某列嗎? [打印本頁]

作者: PKKO    時間: 2017-2-16 13:01     標題: 有辦法單獨去除陣列內的某欄位或是某列嗎?

例如下表:4*3的陣列

分類 數量  成本
國產    1      4
進口    2      5
自製    3      6

有甚麼指令可以讓陣列變成下表,把原本(3,1)(3,2)(3,3)都刪除掉,並且下面的資料會往上遞補?

分類 數量  成本
國產    1      4
自製    3      6

程式碼如下:
  1. rng=[a1].resize(4,3).value
  2. for i=1 to 3
  3.   rng(3,i)=empty
  4. next
複製代碼
'我只會將第三列都變成空白,但是第四列並不會自動網上遞補,有這種功能可以像EXCEL刪除列一樣,自動往上補嗎?
作者: linyancheng    時間: 2017-2-17 22:31

似乎沒有!
作者: freeffly    時間: 2017-3-14 17:26

使用redim preserve 的方式
紀錄到另一個陣列
就能排除不要的
  1. Sub test()
  2. Dim rng_new()
  3. n = 0
  4. Rng = [a1].Resize(4, 3).Value
  5. For i = 1 To 4
  6.     If Rng(i, 3) <> Empty Then
  7.         n = n + 1
  8.         ReDim Preserve rng_new(1 To 3, 1 To n)
  9.         For c = 1 To 3
  10.             rng_new(c, n) = Rng(i, c)
  11.         Next
  12.     End If
  13. Next

  14. End Sub
複製代碼

作者: PKKO    時間: 2017-3-15 14:07

回復 3# freeffly


可以排除不要的沒錯
我重新創立一個陣列也可以排除不要的,但多一道功夫
所以才想問是否有單獨取出的部分




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