Board logo

標題: [發問] 儲存格往下貼上 [打印本頁]

作者: g93353    時間: 2012-4-1 13:01     標題: 儲存格往下貼上

小弟想請問一下

小弟在A1 至 B5 打好了資料
            A          B
1       小名     小華
2       小美     小琳
3       小陳     小張
4       小雪     小如
5       小安     小玉

小弟想要複製A1 至B5的資料
然後往下貼上(次數不限)
變成這樣(假設兩次)
              A          B
6         小名     小華
7         小美     小琳
8         小陳     小張
9         小雪     小如
10       小安     小玉
11       小名     小華
12       小美     小琳
13       小陳     小張
14       小雪     小如
15       小安     小玉

想請問一下
Sheet1.Range("A1:B5").Select
Application.Selection.Copy
用Range().Select  的方式
要如何往下貼上呢?

或是有別種方式可以完成??
小問題請教一下大家
謝謝!!!
作者: oobird    時間: 2012-4-1 16:28

ActiveSheet.UsedRange.Copy [a65536].End(3)(2)
作者: g93353    時間: 2012-4-1 16:54

沒想到一行就解決了!!!! 感謝大大的回覆!!!
作者: g93353    時間: 2012-4-1 17:34

oobird  不好意思 想請問一下 如果在一次貼上的話  會把之前複製過的 全部複製起來
如果說複製一次會複製1到5   再複製一次會複製1到10  
請問要如何只複製1到5就好了呢??
作者: register313    時間: 2012-4-1 18:45

回復 4# g93353

ActiveSheet.[a1:b5].Copy [a65536].End(3)(2)
作者: c_c_lai    時間: 2012-4-5 17:53

請位在 ActiveSheet.[a1:b5].Copy [a65536].End(3)(2) 語法內,
End後面之 (3)(2) 代表何意?   謝謝!
作者: register313    時間: 2012-4-5 19:04

回復 6# c_c_lai

         [a65536].End(3)(2)
等同於[a65536].End(xlup).offset(1,0)

須分2部份解釋
1.[a65536].End(3)=[a65536].End(xlup)
   由a65536往上(xlup)找到第1個不為空值的儲存格,即a5
2.Range("a1:b3")(1)=Range("a1")
   Range("a1:b3")(2)=Range("b1")
   Range("a1:b3")(3)=Range("a2")
   Range("a1:b3")(4)=Range("b2")
   故Range("a5")(2)=Range("a5").offset(1,0)=Range("a6")
作者: GBKEE    時間: 2012-4-5 19:59

本帖最後由 GBKEE 於 2012-4-5 20:08 編輯

回復 6# c_c_lai
VBA 視窗中 程式碼的範圍內 滑鼠點選後, 按F8 逐步 執行程式看看.
  1. Option Explicit
  2. Sub Ex_END()
  3.     MsgBox Range("C5").End(1).Address
  4.     MsgBox Range("C5").End(xlToLeft).Address
  5.    
  6.     MsgBox Range("C5").End(2).Address
  7.     MsgBox Range("C5").End(xlToRight).Address
  8.    
  9.     MsgBox Range("C5").End(3).Address
  10.     MsgBox Range("C5").End(xlUp).Address
  11.    
  12.     MsgBox Range("C5").End(4).Address
  13.     MsgBox Range("C5").End(xlDown).Address
  14. End Sub

  15. Sub Ex()
  16.     MsgBox Range("C5")(1).Address
  17.     MsgBox Range("C5").Cells(1).Address
  18.     MsgBox Range("C5").Cells(1, 1).Address
  19.     MsgBox Range("C5").Cells(1, "A").Address
  20.    
  21.     MsgBox Range("C5")(2).Address
  22.     MsgBox Range("C5").Cells(2).Address
  23.     MsgBox Range("C5").Cells(2, 1).Address
  24.     MsgBox Range("C5").Cells(2, "A").Address
  25.    
  26.     MsgBox Range("C5")(1, 3).Address
  27.     MsgBox Range("C5")(1, "C").Address
  28.     MsgBox Range("C5").Cells(1, 3).Address
  29.     MsgBox Range("C5").Cells(1, "C").Address
  30. End Sub
複製代碼

作者: c_c_lai    時間: 2012-4-5 20:17

哦呵!原來如此,真感謝大大詳盡的說明。
蠻像魔術方塊呢!
作者: g93353    時間: 2012-4-10 17:29

謝謝各位大大的回覆喔!!!!!感恩感恩!!




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)