|
▼atori さん:
> Set wb = Application.Workbooks.Open("C:\Users\user\Desktop\Sample\1.xlsx")
1)Application.は省略できます。というか普通は省略します。
他のapplication例えばWordのマクロでExcelを開くとかだと必須ですが
ほとんどの場合、不要です。
> Set ws = wb.Worksheets("Sheet1")
> Set wsx = ThisWorkbook.Worksheets("Sheet1")
>
> ws.Range("B:B").Copy
> wsx.Range("B:B").PasteSpecial Paste:=xlValues
>
> wb.Save
> wb.Close
2)保存する必要がありますか?
保存しないで閉じるだけでよいのではありませんか。
> Set wb = Application.Workbooks.Open("C:\Users\user\Desktop\Sample\2.xlsx")
>
> ws.Range("B:B").Copy
3)変数wsは、毎回SETしなおす必要があります。
このままだと、wsは、最初のブックのSheet1のままで、
すでにブックは閉じた後なので、エラーになると思います。
> wsx.Range("C:C").PasteSpecial Paste:=xlValues
4)B列は、2列めなので、Columns(2)、
C列は、3列めなので、Columns(3)と記述できます。
繰り返し処理したいときには、このほうがよいです。
k回目の貼付け先は、Columns(k+1)と記述できるからです。
以上を踏まえて、修正していただけますか。
|
|