[算表] VBA儲存格公式理解

作者: waiter337 (給開司一罐蘇格登)   2016-09-18 08:15:54
軟體:excel
版本:
想做出跟原先書上相同效果的選取,但是卻改不成功
https://goo.gl/35bpGo
書本上的解法
Sub 選取不含欄位標題的資料範圍()
'Dim myTbl As Range '變數宣告
'Set myTbl = Range("商品表格") '改變儲存格範圍並儲存至變數
'myTbl.Rows("2:" & myTbl.Rows.Count).Select '選取第2列以後不含標題欄位的
End Sub 儲存格範圍
以下是自己嘗試做修改1 (失敗)
Sub 選取不含欄位標題的資料範圍()
'Range(Range("商品表格").Rows(2) & ":" & Range("商品表格
").Rows.Count).Select
End Sub
以下是自己嘗試做修改2 (失敗)
Sub 選取不含欄位標題的資料範圍()
'Range("商品表格").Rows(Range("商品表格").Rows(2) ":" Range("商品表格
").Rows.Count).Select
End Sub
B4~F9 已經定義為 "商品表格"
對於想改變一下順序來了解一下VBA語言的講法
求高手指點迷津
myTbl.Rows("2:" & myTbl.Rows.Count).Select
光這行,完全就有點翻譯不過來了
定義好的mytbl 執行 某橫列(第二列 開始至 "商品表格" 計算 的列數 計算 的總數)
執行 選取
但我還是覺得哪裡接不上來
為什麼mytbl後面要有 "." 而不是mytbl() 或者是 mytbl =
作者: Metal5566 (咩陀56)   2016-09-18 09:40:00
mytbl 是物件變數 等於RANGE("xxx")
作者: soyoso (我是耀宗)   2016-09-18 09:59:00
http://imgur.com/a/iVr63 類似這樣的寫法
作者: waiter337 (給開司一罐蘇格登)   2016-09-18 10:05:00
所以大大的意思是說range("定義表格")後面是無法用rows抓取橫列的位置只能用cells 跟 offset來抓取嗎?如果用rows 也只能配合用rows.countrange("定義表格").rows(2) 是錯的range("定義表格").rows 如果用後面真的想靠rows抓資料的第一橫列位置,有辦法嗎?
作者: soyoso (我是耀宗)   2016-09-18 10:37:00
抱歉這是可想到的方式,看其他先進是否有其方法可提供
作者: waiter337 (給開司一罐蘇格登)   2016-09-19 06:11:00
specialcells 的11 查表後 代表的是最後一行儲存格xlCellTypeLastCell:使用範圍中的最後一個儲存格

Links booklink

Contact Us: admin [ a t ] ucptt.com