Board logo

標題: [發問] EXCEL VBA選取部分儲存格範圍-(指定儲存格向下及向右至邊界處) [打印本頁]

作者: junkwei    時間: 2014-12-21 19:23     標題: EXCEL VBA選取部分儲存格範圍-(指定儲存格向下及向右至邊界處)

[attach]19881[/attach]

各位前輩大家好:
小弟希望在指定特定範圍的陣列
如在行列數不知道的資料中指定某個儲存格(圖例中的C2),
並向下及向右指定範圍到邊界處(以空行和空列為邊界)
如圖片中的例子為例
小弟希望 table_array(3,2) 可以回傳文字 c

小弟目前試過的指令有
(1)    Set table_array = Worksheets("某工作表").Range("C2").End(xlDown).End(xlToRight)

(2)   Set table_array = Worksheets("某工作表").Range("C2").End(xlDown).Resize(, 2)  

但都無法如果如小弟所願指定到我希望的範圍...
想請問各位前輩不知道我的code 還是觀念出了什麼問題?
或者是我的code需要做什麼樣的修改才能指定到我希望的陣列範圍呢?
麻煩各位前輩撥空指導了..!
如果有文字敘述不夠精確的地方也請各位前輩提出來指教
感激不盡~~!


P.s. 這篇下午不小心發錯板 發到一般區了...@@  不知道有沒有板大可以幫我移除一般區那篇??
作者: ashan0418    時間: 2014-12-22 15:47

回復 1# junkwei

試試看!!
  1. Sub test()

  2.     last_rows = Selection.SpecialCells(xlCellTypeLastCell).Row
  3.     last_columns = Selection.SpecialCells(xlCellTypeLastCell).Column

  4.     Set table_array = Range(Cells(ActiveCell.Row, ActiveCell.Column), Cells(last_rows, last_columns))
  5.     MsgBox table_array(3, 2)
  6. End Sub
複製代碼

作者: junkwei    時間: 2014-12-28 17:16

回復 2# ashan0418

謝謝ashan0418前輩的指導!
不過不好意思~~小弟可能表達不夠精確@@
小弟所希望詢問的是自動選取range 的VBA語法
而不是先在工作表選取後再依照所選取的範圍設定Range
再麻煩前輩指導了!
十分感謝~~@@

不過小弟也從來沒用過這種方式選取range
又上到了一課!
謝謝前輩的指導^^
作者: ashan0418    時間: 2014-12-28 19:53

本帖最後由 ashan0418 於 2014-12-28 19:55 編輯

回復 3# junkwei

你是指要從C2開始並向下及向右指定所有資料的Range嗎??

若是將
Set table_array = Range(Cells(ActiveCell.Row, ActiveCell.Column), Cells(last_rows, last_columns))

改成
Set table_array = Range(Cells(3,2), Cells(last_rows, last_columns))
作者: junkwei    時間: 2014-12-28 22:58

回復 4# ashan0418

我將前輩的code小小修改了一下:
Set table_array = Range(Cells(2,3), Cells(last_rows, last_columns))
這樣就是我要的沒錯了!!
感謝前輩指導~~~!!




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