標題:
VBA問題 請問如何利用VBA讓資料每次執行後自動貼上到最後一格
[打印本頁]
作者:
jimmy121212
時間:
2013-11-4 13:06
標題:
VBA問題 請問如何利用VBA讓資料每次執行後自動貼上到最後一格
各位大大好
請問若想要把附件的SHEET3裡面的B31:H31
與B33:H33
當執行巨集時會自動貼到SHEET1的B2:G2
與SHEET2的B:G2
並且每次執行都繪貼到下一格呢??
若能解答不勝感激
作者:
owen06
時間:
2013-11-4 13:57
回復
1#
jimmy121212
試試
作者:
jimmy121212
時間:
2013-11-4 20:26
謝謝owen06 大大 我了解了 謝謝
作者:
jimmy121212
時間:
2013-11-4 20:55
回復
2#
owen06
不好意思 請問I=2跟X=2的用意是
初學者請大大指導 謝謝
作者:
jimmy121212
時間:
2013-11-4 23:08
回復
4#
jimmy121212
想再請問大大 如附件 與先前一樣還要再加上A36:M36貼到SHEET4要怎麼寫呢 試了好幾次都失敗 懇請大大幫忙 謝謝
作者:
owen06
時間:
2013-11-5 08:17
回復
5#
jimmy121212
不好意思,昨天那樣寫的太笨了,換成這樣會比較方便。
另外你問程式裡的I跟X是什麼意思,其實沒什麼特別意思,個人習慣而已,
要設什麼都隨個人喜好,不要衝突到就好。
簡單的說,FOR …... NEXT,是一迴圈的方式,
FOR X = 1 TO 10
CELLS(X ,3)=10
NEXT
你用F8下去逐步執行,就會發現(1,3), (2,3)一直到(10,3)的儲存格都逐個變成10,
這就是迴圈,但是因為你有限定到10,所以他不會在(11,3)執行指令。
而我設的 For X = 2 To Application.CountA(Sheet2.[A:A]) + 1
他就可以用公式去計算出範圍,讓X的最大值成為一個變數,
你可以在即時運算視窗輸入『?Application.CountA(Sheet1.[A:A]) + 1』
去看看每次有新增資料時,他算出來的答案是不是有所不同。
不過早上想想這個方法挺呆的,你用附檔的這個語法簡單明暸多了。
以上都是本版上面的大大教的,來這真的會獲益良多哦~
作者:
jimmy121212
時間:
2013-11-5 09:31
原來是這樣啊 再次感謝owen06 大大 這裡高手多且熱心 難怪受益良多
作者:
jimmy121212
時間:
2013-11-9 21:48
回復
6#
owen06
想再請教 如果要將資料貼到另一個WORKBOOK要怎樣寫呢??不好意思 我沒有基礎 試了好久都不行 希望您可以教教我
感恩
作者:
GBKEE
時間:
2013-11-10 10:21
回復
8#
jimmy121212
Private Sub CommandButton1_Click()
Dim Sh(1 To 4) As Worksheet
Set Sh(1) = Workbooks("a.xls").Sheets("Sheet1") '另一個WORKBOOK
Set Sh(2) = Workbooks("a.xls").Sheets("Sheet2") '另一個WORKBOOK
Set Sh(3) = Workbooks("a.xls").Sheets("Sheet4") '另一個WORKBOOK
Set Sh(4) = Workbooks("bbb.xls").Sheets("Sheet3") '資料檔WORKBOOK
Sh(1).[a65536].End(xlUp).Offset(1, 0).Resize(, Sh(4).[B31:H31].Columns.Count) = Sh(4).[B31:H31].Value
Sh(2).[a65536].End(xlUp).Offset(1, 0).Resize(, Sh(4).[B33:H33].Columns.Count) = Sh(4).[B33:H33].Value
Sh(3).[a65536].End(xlUp).Offset(1, 0).Resize(, Sh(4).[a36:m36].Columns.Count) = Sh(4).[a36:m36].Value
End Sub
複製代碼
作者:
jimmy121212
時間:
2013-11-11 17:00
本帖最後由 jimmy121212 於 2013-11-11 17:03 編輯
[attach]16665[/attach]
回復
9#
GBKEE
GBKEE大大 小弟試過多次 還是錯誤 小弟厚顏的想請問:dizzy: 不知您可否幫我寫上 我再慢慢對照學習
我要將"外資及其自營"檔案中*每日概算表*�堛�(B37:E37)與(B38:E38)自動複製到檔案*歷史未平倉的(E:H)與(R:U)
感謝
作者:
GBKEE
時間:
2013-11-11 17:30
本帖最後由 GBKEE 於 2013-11-11 17:37 編輯
回復
10#
jimmy121212
Sub 按鈕3_Click()
Dim Sh(1 To 4) As Worksheet
'Sheets("活頁簿工作表名稱的 字串") ->Sheets("OP-外資+")
Set Sh(1) = Workbooks("c曆史未平倉.xlsx").Sheets("OP-外資+") '另一個WORKBOOK
'Sheets( 索引值 [數字 第幾個工作表]) 如Sheets(1) ->"OP-外資+"
'Set Sh(1) = Workbooks("c曆史未平倉.xlsx").Sheets(1) '另一個WORKBOOK
Set Sh(4) = Workbooks("bbb.xls").Sheets("Sheet3") '資料檔WORKBOOK
Sh(1).[a65536].End(xlUp).Offset(1, 0).Resize(, Sh(4).[B31:H31].Columns.Count) = Sh(4).[B31:H31].Value
End Sub
複製代碼
作者:
jimmy121212
時間:
2013-11-12 23:26
回復
11#
GBKEE
謝謝GBKEE大大
但第二行偵錯範圍超出引索,實在抓不到頭緒
可以請求您直接寫出一個可執行的給我參考比對嗎?拜託了
另外我是要我要將"外資及其自營"檔案中*每日概算表*�堛�(B37:E37)與(B38:E38)自動複製到檔案*歷史未平倉的(E:H)與(R:U)
作者:
GBKEE
時間:
2013-11-13 06:58
回復
12#
jimmy121212
第二行偵錯範圍超出引索 : 就是找不到指定的WorkBooks或是Sheets名稱
檢查一下WorkBooks("名稱")有開啟嗎?? ,Sheets("名稱")是這WorkBooks("名稱")的工作表嗎??
作者:
jimmy121212
時間:
2013-11-13 09:18
回復
13#
GBKEE
抱歉 是第三行 03 .Sheets("活頁簿工作表名稱的 字串") ->Sheets("OP-外資+")
作者:
GBKEE
時間:
2013-11-13 09:27
本帖最後由 GBKEE 於 2013-11-13 09:30 編輯
回復
14#
jimmy121212
請看第3行 有這
'
符號VBA不會執行的,第5,6也有這註解(程式中的說明)文字的符號
'
Sheets("活頁簿工作表名稱的 字串") ->Sheets("OP-外資+")
作者:
jimmy121212
時間:
2013-11-13 10:15
回復
15#
GBKEE
喔對 是04. Set Sh(1) = Workbooks("c曆史未平倉.xlsx").Sheets("OP-外資+") '另一個WORKBOOK
超出引索
作者:
GBKEE
時間:
2013-11-13 10:34
回復
16#
jimmy121212
可以請求您直接寫出一個可執行的給我參考比對嗎?拜託了
不知所以然,給你檔案是多餘的,多看看(VBA的說明)會進步的.
作者:
jimmy121212
時間:
2013-11-13 10:43
回復
17#
GBKEE
謝謝
作者:
owen06
時間:
2013-11-13 10:51
回復
12#
jimmy121212
內容改成這樣子可以嗎?
Dim Sh(1 To 4) As Worksheet
Set Sh(1) = Workbooks("c曆史未平倉.xlsx").Sheets("總未平覽表") '
Set Sh(4) = Workbooks("a外資及自營-1.xlsm").Sheets("每日概算表")
Sh(1).[e65536].End(xlUp).Offset(1, 0).Resize(1, 4).Value = Sh(4).[b37:e37].Value
Sh(1).[r65536].End(xlUp).Offset(1, 0).Resize(1, 4).Value = Sh(4).[b38:e38].Value
複製代碼
作者:
jimmy121212
時間:
2013-11-13 11:00
回復
19#
owen06
OWEN大大
感謝您 這樣我知道我哪裡打錯了
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)