値で貼り付けたいなら、以下でどうでしょう
Private Sub CommandButton1_Click()
Dim i as Integer
Application.ScreenUpdating = False
Workbooks.Open Filename:=ThisWorkbook.Path & "\" & EXCEL_NAME_MOTO
Workbooks(EXCEL_NAME_SAKI).Sheets(SHEET_NAME_SAKI).Range("B1:B100").Value _
= Workbooks(EXCEL_NAME_MOTO).Sheets(SHEET_NAME_MOTO).Range("A1:A100").Value
Workbooks(EXCEL_NAME_MOTO).Close False
Application.ScreenUpdating = True
End Sub
開かないで読んではどうですか?
詳しい使い方はわからないんですが、Application.ExecuteExcel4Macroというのを使うと、Excelファイルを開かずにいろんな事ができるらしいです。
Private Sub CommandButton1_Click()
Dim i As Integer
Dim sourceSheet As String
sourceSheet = "'" & ThisWorkbook.Path & "\[" & EXCEL_NAME_MOTO & "]" & SHEET_NAME_MOTO & "'!"
For i = 1 To 100
Worksheets(SHEET_NAME_SAKI).Cells(i, 1) = Application.ExecuteExcel4Macro(sourceSheet & "R" & Trim(Str(i)) & "C1")
Next
End Sub
お礼
ありがとうございます。 これなら処理時間も早く、チカチカしませんでした。 しかしどうして ScreenUpdating = False 入れてもチカチカしたんでしょう…