返回列表 上一主題 發帖

EXCEL高手 VBA 如何將需重覆的動作寫成迴圈

EXCEL高手 VBA 如何將需重覆的動作寫成迴圈

請問EXCEL高手:
如何將SHEET2 A欄第1筆資料複製到SHEET1 的A1儲存格
並將SHEET1的內容印出,再將SHEET2 A欄第2筆資料複製到SHEET1 的A1儲存格再將SHEET1的內容印出;如此一直重覆至SHEET2 A欄的最後一筆才結束程式,謝謝大大的鼎力相助!

回復 1# junekevin
  1. Sub Ex()
  2.     Dim E As Range, Sh As Worksheet
  3.     Set Sh = Sheets("Sheet2")   '設立物件變數
  4.     For Each E In Sh.Range("A1:A" & Sh.[A1].End(xlDown).Row)
  5.     'For Each E In  -> 依序處理 物件集合 的 子物件
  6.     'Sh.[A1].End(xlDown).Row ->  Sh的 A1往下到最後有資料的列位->數字
  7.         With Sheets("SHEET1")    '在物件中
  8.             .[A1].Value = E
  9.             .PrintOut            '印列
  10.         End With
  11.     Next
  12. End Sub
複製代碼

TOP

感謝GBKEE大的回覆!!

TOP

回復 2# GBKEE

      可以問一下這句的意思嗎?
   .[A1].Value = E
      設定列印範圍嗎
     .PageSetup.PrintArea = E
    可以這樣寫嗎
字典兩各字 還真難理解

TOP

回復 4# freeffly
.[A1].Value = E   '(Value,內容->值)
.PageSetup.PrintArea = E.Address->傳回物件(Address) -> 位置

VBA的說明
PrintArea 屬性
傳回或設定要列印的範圍,此為使用巨集語言中 A1 樣式參照的字串。讀/寫 String(字串)
expression.Address(RowAbsolute, ColumnAbsolute, ReferenceStyle, External, RelativeTo)
http://forum.twbts.com/thread-2741-2-1.html

TOP

回復 5# GBKEE


    .[A1].Value = E   '(Value,內容->值)
   .PageSetup.PrintArea = E.Address->傳回物件(Address) -> 位置

  所以若在後面加上address效果會與 .[A1].value=E  相同嗎?
字典兩各字 還真難理解

TOP

所以若在後面加上address效果會與 .[A1].value=E  相同嗎?freeffly 發表於 2011/3/6 20:38

意思是如此嗎?
[A1].value=E.address  -> [A1]=E的位置 可以ㄚ

TOP

回復 7# GBKEE


    我的意思是兩句都是可以達到列印該區段的資料嗎
字典兩各字 還真難理解

TOP

回復 8# freeffly
2樓的程式碼 是針對樓主的發問所寫  

1.[A1].Value = E     -> ( [A1].Value=E的內容(值) )  ->  將[A1]的內容替換為 E 的內容 (假設為E= 101)

2 PageSetup.PrintArea 為設定工作表印列的範圍
PageSetup.PrintArea =E.ADDRESS -> 工作表印列的範圍= 字串 (E的範圍 假設為 $A$1)

兩句的用法是不同的
   

TOP

回復 9# GBKEE


    謝謝大大回覆
     這各我在想依下好了
字典兩各字 還真難理解

TOP

        靜思自在 : 人要知福、惜福、再造福。
返回列表 上一主題