標題:
[發問]
插入儲存格後無法自動填滿
[打印本頁]
作者:
cathaylife
時間:
2016-8-20 22:40
標題:
插入儲存格後無法自動填滿
各位先進好:
小弟最近碰到一個感覺很簡單的問題
A欄是簡單的數列,B欄則是逐列直接參照A欄的值
如果此時新增一個數字在A欄資料的中間
此時我想使用B欄的自動向下填滿功能會碰到空白那個就停止
想請問該如何把空白那欄自動填滿呢? 比較希望能以VBA解決 謝謝!!
作者:
GBKEE
時間:
2016-8-21 06:24
回復
1#
cathaylife
是這樣嗎?
Option Explicit
Sub Ex()
With Range("a1:a" & Range("a1").End(xlDown).Row)
.Offset(, 1) = .Value
End With
End Sub
複製代碼
作者:
cathaylife
時間:
2016-8-21 10:00
版主早:
您的確讓兩欄都一樣,但B欄變得跟A欄一樣都是數值了,我的需求是維持住B欄的公式自動填滿到下面的儲存格~
作者:
cathaylife
時間:
2016-8-21 13:42
回復
3#
cathaylife
ok
作者:
GBKEE
時間:
2016-8-21 14:01
回復
4#
cathaylife
試試看
Option Explicit
Sub Ex()
With Range("a1:a" & Range("a1").End(xlDown).Row)
.Offset(, 1).FillDown
End With
End Sub
複製代碼
作者:
cathaylife
時間:
2016-8-21 21:57
感謝版主已經可以正常作業了! 另請教您
Offset(, 1) 的逗點是什麼意思? 其他類似的函數試用嗎?
還有就是option explicit的功用我已經知道是強制變數宣告,看了之前您的解釋是"方便偵錯"
但我在我在VBA裡試圖不宣告就使用,還是可以在區域變數裡看到該變數以及偵錯
所以宣告以後的方便偵錯是相對方便在哪裡呢?
作者:
GBKEE
時間:
2016-8-22 04:47
回復
6#
cathaylife
Range("A1").Offset(ColumnOffset:=5).Select
Offset 屬性
請參閱套用至範例特定套用至 Range 物件時用 Offset 屬性。
傳回 Range 物件,用以代表某個指定區域以外的範圍。唯讀。
expression.Offset(RowOffset, ColumnOffset)
expression 必選。該運算式傳回 Range 物件。
RowOffset 選擇性的 Variant。用列數表示的區域位移 (正值、負數或零 (0))。正值表示向下位移,負值表示向上位移。預設值為 0。
ColumnOffset 選擇性的 Variant。用欄數表示的區域位移 (整數、負數或 0 (零))。正值表示右位移,負值表示左。預設值為 0。
複製代碼
方便偵錯:是指變數編寫不正確導致計算錯誤得不到預期的效果
當程式寫的龐大時不易找出的
Sub Ex()
Dim xl As Integer
x1 = 5
MsgBox 10 + xl '應該是15才對
End Sub
複製代碼
Option Explicit
Sub Ex()
Dim xl As Integer
x1 = 5
MsgBox 10 + xl '應該是15才對
End Sub
複製代碼
作者:
cathaylife
時間:
2016-8-23 10:20
所以在這個例子裡
.Offset(, 1).FillDown
逗號前面沒接東西就是預設列的基準欄位沒變 是嗎?
Option Explicit 試了好久才發現是 x1 跟 xL....
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)