Board logo

標題: 問題,求救~~拜託 [打印本頁]

作者: 阿宗    時間: 2017-9-26 11:23     標題: 問題,求救~~拜託

各位大大,小弟的問題如下
要把111.xlsx.sheet(1).range("e5:f15")中的數值,分四次匯出到222.xlsx.sheet(1)中依序排列
每一次匯出後會把222.xlsx關閉,要匯出時再開啟。
以上問題,拜託各位大大,指導一下
作者: joey0415    時間: 2017-9-26 20:17

回復 1# 阿宗

這種問題自己錄製一次就知道如何修改
不知 道自己練習了嗎?

先求有,再求好!

錄製範例:
  1. Sub Macro1()

  2.     Sheets("Sheet1").Select
  3.     Range("A1").Select
  4.     Selection.Copy
  5.     ChDir "C:\Users\Joey\Desktop"
  6.     Workbooks.Open Filename:="C:\Users\Joey\Desktop\b.xls"
  7.     Range("A1").Select
  8.     ActiveSheet.Paste
  9.     Application.CutCopyMode = False
  10.     ActiveWorkbook.Save
  11.     ActiveWindow.Close
  12.     Range("A1").Select
  13. End Sub
複製代碼

作者: 阿宗    時間: 2017-9-28 08:01

本帖最後由 阿宗 於 2017-9-28 08:14 編輯

回復 2# joey0415

joey0415 大大
                          我有試過用錄製的,但是不是我要的結果
                           我要的結果是
                           1.從A檔案複製"A1:B5",開啟B檔案貼到"A1",儲存B檔案,關閉B檔案
                           2.從A檔案複製"A1:B5",開啟B檔案貼到"C1",儲存B檔案,關閉B檔案
                           3.從A檔案複製"A1:B5",開啟B檔案貼到"E1",儲存B檔案,關閉B檔案
                           ~以上步驟分三次輸出,不是一次輸出,可能我上回沒說清楚,抱歉~
                            我記得是要用迴圈吧,但是我不會用,所以上來求救,拜託了
作者: prin.huang    時間: 2017-9-28 08:10

看文字的意思是,用錄的再改成你要的,應該只要再加上迴圈 & 儲存格位置加上公式
作者: 阿宗    時間: 2017-9-28 08:36

本帖最後由 阿宗 於 2017-9-28 08:38 編輯

回復 4# prin.huang

prin.huang 大大
                             小弟我是新手,用不出個所以然來,所以上來請教,拜託
~以下是我錄的巨集~
Sub 巨集1()
'
' 巨集1 巨集
'

'
    Range("E5:F15").Select
    Selection.Copy
    Range("E5").Select
    ActiveSheet.Paste
    ActiveWorkbook.Save
    ActiveWindow.Close
    Range("E3").Select
    Application.CutCopyMode = False
    Range("E5:F15").Select
    Selection.Copy
    Range("G5").Select
    ActiveSheet.Paste
    ActiveWorkbook.Save
    ActiveWindow.Close
    Range("A1").Select
    Application.CutCopyMode = False
    Range("E5:F15").Select
    Selection.Copy
    Range("I5").Select
    ActiveSheet.Paste
    ActiveWorkbook.Save
    ActiveWindow.Close
    Application.CutCopyMode = False
    Range("A1").Select
End Sub
作者: Hsieh    時間: 2017-9-28 14:52

本帖最後由 Hsieh 於 2017-9-28 14:55 編輯

回復 1# 阿宗
四次寫入資料
以下程式碼寫在111.xlsm的模組內
  1. Sub ex()
  2. Mypath = ThisWorkbook.Path '檔案目錄
  3. For i = 1 To 4
  4.    With Workbooks.Open(Mypath & "\222.xlsx") '開啟檔案
  5.       .Sheets(1).Cells(1, (i - 1) * 2 + 1).Resize(11, 2) = ThisWorkbook.Sheets(1).[E5:F15].Value '寫入資料
  6.       .Close 1 '關閉存檔
  7.    End With
  8. Next
  9. End Sub
複製代碼

作者: 阿宗    時間: 2017-9-30 15:09

回復 6# Hsieh


    感謝版主大大 的會覆,小弟我在測試看看,謝謝!




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