現在開いているシートからセルに入力参照からファイルを開き、開いたファイルの中の指定したシートにCSVデーターをコピーしたいのですが、指定したシートにコピーできません。
ちなみに現在開いているシートにはA1にはファイル名、A2にはシート名入力する形としてます。
指定したシートをアクテイブにするところがわかりません。
宜しくおねがいします。
以下構文
Workbooks.Open Filename:="C:\AAA\" _
& Range("A1").Value & ".xlsm"
Windows("AAA.xlsm").Activate
Dim str As String
str = Worksheets("メインメニュー").Range("A2")
ActiveWindow.ActivateNext
'Workbooks.Open "C:\AAA\A.csv"
'Range("A3:R159").Select
'Selection.Copy
'ActiveWindow.ActivateNext
'ActiveSheet.Paste
'Range("R1").Select
' Windows("A.csv").Activate
' ActiveWindow.Close
'ActiveWorkbook.Save
'ActiveWindow.Close
End Sub
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんにちは
ご提示のコードのほとんどがコメントアウトされているので、なさりたいことがよくわかりませんが・・・
『指定したブックに(固定の?)CSVファイルの内容を写したい』
のようなことをなさりたいのかなと解釈しました。
具体的な位置関係や環境がわからないので、とりあえず
『指定したブックを開いて、その最後に新規シートを作成し、CSVファイル(←固定と仮定)の内容をコピーする』
というものを作成してみましたので、ご参考にでもなれば。
※ 指定されたブックやCSVファイルが既に開かれているかのチェックは行っていません。
(開いている場合は「2重に開くと~」の警告表示がでると思います)
※ 新規作成のシートは、変数shtに取得されていますので、後で操作する場合に利用可能です。
>指定したシートをアクテイブにするところがわかりません。
以下のサンプルでも行っていますが(一番最後のところ)、シートをアクティブにするなら、
シートオブジェクト.Activate
で可能です。
(上記の「シートオブジェクト」のところを「指定したシート」のオブジェクトにすればよろしいかと思います)
Sub Sample()
Dim filePath
Dim wb As Workbook, csvb As Workbook, sht As Worksheet
'Const defaultPath = "C:\AAA" '←必要ならデフォルトパスを指定
'ChDir defaultPath
Const csvPath = "C:\AAA\A.csv" '←CSVファイルのパス
filePath = Application.GetOpenFilename("Excel ファイル,*.xls?")
If VarType(filePath) = vbBoolean Then Exit Sub
Application.ScreenUpdating = False
Set wb = Workbooks.Open(Filename:=filePath)
Set sht = wb.Worksheets.Add(after:=wb.Worksheets(wb.Worksheets.count))
Set csvb = Workbooks.Open(Filename:=csvPath)
ActiveSheet.Cells.Copy Destination:=sht.Cells
csvb.Close SaveChanges:=False
Application.ScreenUpdating = True
sht.Activate
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Visual Basic(VBA) フォルダの場所を可変にしたいです(マクロ) 4 2023/05/11 10:00
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) 別ブックからシートのコピー 3 2022/04/01 20:07
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/01/26 09:50
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/12 10:10
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで同じシートのコピーを一...
-
エクセルの複数シートの保護を...
-
エクセルVBAでパスの¥マークに...
-
EXCEL:同じセルへどんどん足し...
-
Excelで金銭出納帳。繰越残高を...
-
エクセルで前のシートを連続参...
-
別シート参照のセルをシート毎...
-
シートの保護のあとセルの列、...
-
EXCELで1ヶ月分の連続した日付...
-
VBAで条件によりフォントサイズ...
-
エクセルで、「1つ前のシート...
-
Accessのスプレッドシートエク...
-
エクセルのシート名をリスト化...
-
特定のシートの削除を禁止した...
-
エクセルで前シートを参照して...
-
エクセルでファイル保存時に複...
-
VBAでシートコピー後、シート名...
-
エクセルでシート名を自動入力...
-
Excelのシートを、まとめて表示...
-
EXCELで同一フォーマットのシー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで同じシートのコピーを一...
-
エクセルの複数シートの保護を...
-
Excelで金銭出納帳。繰越残高を...
-
エクセルでファイルを開いたと...
-
EXCELで1ヶ月分の連続した日付...
-
エクセルVBAでパスの¥マークに...
-
EXCEL:同じセルへどんどん足し...
-
シートの保護のあとセルの列、...
-
別シート参照のセルをシート毎...
-
エクセルで前のシートを連続参...
-
前の(左隣の)シートを連続参...
-
EXCELで同一フォーマットのシー...
-
VBAでシートコピー後、シート名...
-
Excel 連番を入力する方法
-
エクセル 計算式も入っていない...
-
エクセルで前シートを参照して...
-
エクセルでシート名を自動入力...
-
Accessのスプレッドシートエク...
-
複数シートの特定の位置に連番...
-
エクセルのシート名をリスト化...
おすすめ情報