- 帖子
- 248
- 主題
- 55
- 精華
- 0
- 積分
- 314
- 點名
- 73
- 作業系統
- XP / WIN7
- 軟體版本
- 2003 / 2007
- 閱讀權限
- 20
- 性別
- 男
- 來自
- Tainan
- 註冊時間
- 2013-10-18
- 最後登錄
- 2025-4-12
            
|
本帖最後由 li_hsien 於 2017-7-20 14:18 編輯
回復 1# av8d
我也是第一次看到這種寫法
Sheets("工作表").Cells(Rows.Count, "A").End(3)(2, 1).Resize(1, 1) = Array(Date)
小弟一步步測試
改成下面這樣可能會比較好懂
Sheets("工作表").Cells(65536,"A").End(xlup).Offset(1,0).Resize(1,1)=Array(Date)
Rows.Count=65536 -> 總欄數
End(3)=End(xlup) -> 有下往上 指到有資料的儲存格
Sheets("工作表").Cells(Rows.Count, "A").End(3)(2, 1) = Sheets("工作表").Cells(65536,"A").End(xlup).Offset(1,0) ->可以查看看Offset的用法
Resize(1, 1) -> 儲存格位置沒有變化,設定(1,1)這應該沒有什麼作用,可以改成其他數字觀察看看 e.g. Resize(2,3)
Array(Date) -> 就是把最後Resize的位置全都填入日期
建議您可以分段用.select觀察目前儲存格的位置
可以比較了解運作過程
至於"改寫成第1列第F欄開始向右填寫?"
是像下方這樣嗎?
Sheets("工作表").Cells(Rows.Count, "F").End(2)(2, 1).Resize(1, 1) = Array(Date)
Sheets("工作表").Cells(1,"F").End(xlToRight).Offset(1,0).Resize(1,1)=Array(Date)
但是按此作法向右寫,如果右側完成沒有其他資料會出錯。 |
|