No.2
- 回答日時:
ファイルAから「ファイルを開く」ダイアローグを表示させてファイルBを指定し、ファイルAのセル「A10」から下をファイルBのセル「A10」から下のデータに置き換えるサンプルです。
ファイルBを開かずとのリクエストですが、開いているところを見せないようにはしています。
Sheet名に言及がなかったのでABともにSheet1としています。
Sub test01()
Dim fn As String
Dim wb As Workbook
fn = Application.GetOpenFilename("エクセル ファイル (*.xls), *.xls")
With ThisWorkbook.Sheets("Sheet1")
.Range(Range("A10"), Range("A10").End(xlDown)).ClearContents
End With
If fn = "False" Then
MsgBox "キャンセルしました。"
Exit Sub
End If
Application.ScreenUpdating = False
Set wb = Workbooks.Open(Filename:=fn)
With wb.Sheets("Sheet1")
.Range(Range("A10"), Range("A10").End(xlDown)).Copy
ThisWorkbook.Sheets("Sheet1").Range("A10").PasteSpecial
End With
wb.Close
Set wb = Nothing
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
No.3ベストアンサー
- 回答日時:
#2です。
少し修正します。Sub test02()
Dim fn As String
Dim wb As Workbook
fn = Application.GetOpenFilename("エクセル ファイル (*.xls), *.xls")
With ThisWorkbook.Sheets("Sheet1")
.Range(Range("A10"), Range("A10").End(xlDown)).ClearContents
End With
If fn = "False" Then
MsgBox "キャンセルしました。"
Exit Sub
End If
Application.ScreenUpdating = False
Set wb = Workbooks.Open(Filename:=fn)
With wb.Sheets("Sheet1")
.Range(Range("A10"), Range("A10").End(xlDown)).Copy
ThisWorkbook.Sheets("Sheet1").Range("A10").PasteSpecial
Application.CutCopyMode = False
End With
wb.Close (False)
Set wb = Nothing
Application.ScreenUpdating = True
End Sub
No.4
- 回答日時:
#3です。
昨日は眠かったのか、今見直すと不備な点が散見されました。
書き直します。
Sub test03()
Dim fn As String
Dim wb As Workbook
fn = Application.GetOpenFilename("エクセル ファイル (*.xls), *.xls")
With ThisWorkbook.Sheets("Sheet1") 'このBOOKのSheet1において
.Range(.Range("A10"), .Range("A10").End(xlDown)).ClearContents 'A10以下の連続したデータを消去
End With
If fn = "False" Then
MsgBox "キャンセルしました。"
Exit Sub
End If
Application.ScreenUpdating = False '画面更新を止める
Application.EnableEvents = False '自動マクロを止める
Set wb = Workbooks.Open(Filename:=fn, UpdateLinks:=1) '警告を出さずリンクを更新して開きwbとする
'(UpdateLinks:=0 にすると、リンクを更新せずに開きます。)
With wb.Sheets("Sheet1") 'wbのSheet1において
.Range(.Range("A10"), .Range("A10").End(xlDown)).Copy 'A10以下の連続したデータをCopy
ThisWorkbook.Sheets("Sheet1").Range("A10").PasteSpecial 'このBOOKのA10以下に貼り付け
Application.CutCopyMode = False 'コピーモード終了
End With
wb.Close (False) '警告を出さず保存しないでwbを終了
Application.EnableEvents = True '自動マクロを有効へ
Set wb = Nothing
Application.ScreenUpdating = True '画面更新
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Visual Basic(VBA) VBA初心者です。電話番号の数字の前に0を表示させたいです。 2 2022/12/14 03:58
- Excel(エクセル) エクセル、画像ファイル名の書かれたセル(複数個所)に画像を一括で表示させる方法 1 2023/04/19 00:19
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Excel(エクセル) エクセルで、ファイルの分割 と ファイルの集約 1 2022/08/28 08:58
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Excel(エクセル) エクセルVBA、ファイル名をセルの値で保存の方法を教えてください。 おそれいります。こちらで数々のエ 6 2023/06/30 22:17
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行して 作業フォルダの中にある PDFファイル名を 3 2023/07/01 15:16
- Excel(エクセル) エクセル表作成について 5 2023/03/12 13:25
- Excel(エクセル) ドキュメントに保存していたエクセルのファイルが開きません。 2 2022/12/02 09:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel に貼り付けた図形が、保...
-
エクセルが勝手に開く
-
アクセスVBAで既に開いているエ...
-
ロータス1-2-3のファイルをエ...
-
Excel複数ファイルを1つにまと...
-
Excelファイルをコピー不可にす...
-
ファイル名の末尾に文字を追加...
-
エクセルの表示サイズ変更(画...
-
エクセル2003をエクセル2013で...
-
エクセル関数のHyperLinkでの警告
-
無料エクセル→PC版エクセル
-
リンク先のブックのシートを、...
-
エクセルVBAでCSVを読み込んで...
-
EXCELので作成した表をビルダー...
-
エクセルはシートに関数が入る...
-
メールでCADデータが送られまし...
-
Wordで作成したものをUSBに保存...
-
EXCELを起動したとき120%の表...
-
jtrim 1.53cが正常な動きをし...
-
It works! が表示されるという...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel に貼り付けた図形が、保...
-
エクセルが勝手に開く
-
アクセスVBAで既に開いているエ...
-
ロータス1-2-3のファイルをエ...
-
エクセルの表示サイズ変更(画...
-
Excelファイルをコピー不可にす...
-
ファイル名の末尾に文字を追加...
-
VBA 新規ファイルを元ファイル...
-
[大至急!]ExcelSheetFreeの使...
-
Excel複数ファイルを1つにまと...
-
EXCELので作成した表をビルダー...
-
複数のエクセルファイルを一つ...
-
ワードに貼られたエクセルのリ...
-
エクセル関数のHyperLinkでの警告
-
エクセルはシートに関数が入る...
-
xlsファイルの開き方(excel無...
-
お世話になっています. x軸は時...
-
エクセル、編集中でロックされ...
-
Excelの複数ファイルの内...
-
EXCEL2003で形式を選択して貼り...
おすすめ情報