標題:
[發問]
如何由最後一列數起去複製指定數量
[打印本頁]
作者:
luke
時間:
2013-5-7 22:41
標題:
如何由最後一列數起去複製指定數量
各位大大
1.sheet1表的F:G欄為資料區約100資料列(數量不定), K:L欄為資料輸出區
2.[B2]儲存格為拷貝數量, 當[B2]=常數時, 是否能從 F:G欄最後一列由下往上數取這個區塊的儲存格資
料並Copy至K:L欄.
例如:[B2]=3, F:G欄有11個資料列(F1:G11). 當按下按鈕是否可以由下往上共複製3個區塊資料即F9:G11至K1儲存格如附檔說明.
同理: 若[B2]=5就複製F7:G11共5筆資料列至K1儲存格 餘此類推....
VBA如何寫出來?
[attach]14915[/attach]
作者:
stillfish00
時間:
2013-5-8 03:42
本帖最後由 stillfish00 於 2013-5-8 03:44 編輯
回復
1#
luke
Sub TEST()
Dim r As Long
With Sheets("sheet1")
.[K:L].ClearContents
r = Application.Max(.Cells(.Rows.Count, "F").End(xlUp).Row, .Cells(.Rows.Count, "G").End(xlUp).Row)
.[K1].Resize(.[B2], 2) = .Cells(r - .[B2] + 1, "F").Resize(.[B2], 2).Value
End With
End Sub
複製代碼
作者:
luke
時間:
2013-5-8 06:11
回復
2#
stillfish00
執行OK
謝謝stillfish00
以上
作者:
GBKEE
時間:
2013-5-8 08:11
回復
2#
stillfish00
樓主有說: 當[B2]=常數時
要有除錯
Option Explicit
Sub Ex()
With Sheets("Sheet1")
If .[B2] > 0 And .[B2] <= Application.CountA(.[F:F]) Then
.[K:L] = ""
.[K1].Resize(.[B2], 2) = .Range("F" & .Rows.Count).End(xlUp).Offset(1 - .[B2]).Resize(.[B2], 2).Value
'.Range("F" & .Rows.Count).End(xlUp).Offset(1 - .[B2]).Resize(.[B2], 2).Copy .[K1] '複製
Else
MsgBox "B2 有誤"
End If
End With
End Sub
複製代碼
作者:
stillfish00
時間:
2013-5-8 09:04
回復
4#
GBKEE
是的,感謝修正。
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)