- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
4#
發表於 2012-4-10 11:25
| 只看該作者
回復 3# mankind0703 - Option Explicit
- Sub Ex()
- Dim Rng As Range, Wbo As Workbook
- Set Rng = Workbooks("s-total.xlsx").Sheets("sheet1").[a1] 's-total.xlsx 沒資料
- 'Set Rng = Workbooks("s-total.xlsx").Sheets("sheet1").[a1].End(xlDown).Offset(1) 's-total.xlsx 資料連續往下複製
- For Each Wbo In Workbooks
- If Wbo.Name <> Rng.Parent.Parent.Name Then 'Rng是儲存格 :的父層(為工作表)的父層(為活頁簿)
- Wbo.Sheets("Sheet1").Range("A:A").SpecialCells(xlCellTypeConstants).CurrentRegion.Copy Rng
- '範圍: Wbo:各活頁簿.Sheets("工作表").Range("A欄" ).SpecialCells(xlCellTypeConstants)(有資料).CurrentRegion(目前區域是指以任意空白列及空白欄的組合為邊界的範圍)
- '範圍.Copy(複製) (空一格)Rng(範圍)
- Set Rng = Rng.End(xlDown).Offset(1)
- 'Rng 範圍.End(xlDown:"往下") 到最後有資料的儲存格
- '範圍.Offset (位移列數,位移欄數) '將範圍移動到指定區域的範圍
- End If
- Next
- With Workbooks("s-total.xlsx").Sheets("sheet1").Cells
- .Replace "x", "=100/1", xlWhole '複製後將: x 字串 替換為公式
- .SpecialCells(xlCellTypeFormulas).Delete '刪除有公式的儲存格
- End With
- End Sub
複製代碼 |
|