マクロ初心者です
エクセル2010のマクロVBAで以下を作成したいのですが、分からないので教えてください(>_<)
仕事で、データが入ってる複数のエクセルブック(フォーマットは同じで数値 が異なる)のA~E列をAA.exlmにひたすらコピーしていく作業があります。
なので作業効率をあげるために、
マクロ(cntl+○)起動→エクスプローラを開く→あるエクセルをマウスでクリックすると自動でそのエクセルのA~E列をコピーして元のマクロファイルに貼り付けたいです。
コピーの仕方やエクスプローラを出すプログラムは出来たのですが、そこからエクセルを適当に選んで、そのエクセルのセルをコピーするやり方がわかりません(>_<)
お願いします!
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
私なら、あまり凝ったものは作りません。
エクスプローラを使うと、Visual Basic 6.0 SP6 ランタイムファイルのオブジェクトで名前を取得する必要になったはずです。
>Application.GetOpenFilename("Excel(*.xls?),*.xls?", , , , True)
これは、xlsでも、xlsx でも、xlsm でも、ファイル表示します。そして、MultiSelect =Trueですから、
シフトを押しながら、ファイルを選んたり、Ctrl を押しながら、一ファイルずつ選んでも、複数選択できます。
'//
Sub OpenFileNCopy()
'No. 9018968
Dim fNames As Variant
Dim fn As Variant
Dim orgPath As String
Dim dstPath As String
orgPath = ThisWorkbook.Path
'ファイルを探すディレクトリ
dstPath = "C:\Users\[YourName]\My Documents\" '末尾には必ず、¥マークを入れてください。
ChDir dstPath
fNames = Application.GetOpenFilename("Excel(*.xls?),*.xls?", , , , True)
If Not (IsArray(fNames)) Then
If fNames = "False" Then GoTo EndLine
End If
'Application.ScreenUpdating = False '画面がチカチカしますから、ここを外した方が良いです。
For Each fn In fNames
With Workbooks.Open(fn)
'ここの範囲は任意に設定してください。貼り付け先は、ThisWorkbookのシート1になっています。
.Worksheets(1).Range("A1:E20").Copy _
ThisWorkbook.Worksheets(1).Cells(Rows.Count, 1).End(xlUp).Offset(1)
.Close False
End With
Next fn
'Application.ScreenUpdating = True '制御したものを戻します。
EndLine:
ChDir orgPath
End Sub
'///
No.2
- 回答日時:
>複数のエクセルブック(フォーマットは同じで数値 が異なる)のA~E列をAA.exlmにひたすらコピーしていく作業があります。
つまり、VBAを記述しているA~E列が常に上書きされてしまいますが
それで宜しいのでしょうか。
今のファイルを開くコードの後に
ThisWorkBook.Columns(A:E).Value=AvtiveWorkBook.Columns(A:E).Value
ActiveWorkBook.Close
を追加するだけですが
これが、ご希望とは思えないのですが。
No.1
- 回答日時:
エクスプローラーを操作するのは非常に大変だと思います。
FileDialogではダメですか?
http://officetanaka.net/excel/vba/tips/tips154.htm
複数ファイルの選択はShiftかCtlキーを押しながらです。
Microsoft Office 14.0 Object Library に参照設定が必要です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルのオートフィルターのしぼりをクリアーしたい 2 2022/12/24 08:36
- Excel(エクセル) エクセルで保存時に全部のシートの最終行をコピーして数値で貼り付けたい 3 2023/08/14 15:49
- Visual Basic(VBA) マクロで最終行を取得したい 4 2023/05/28 12:14
- Excel(エクセル) 【VBA】エクセルで選択した範囲の値のみをクリップボードにコピーするコードについて 3 2023/03/08 17:41
- Visual Basic(VBA) エクセルVBAで『A列』に新規で数値を入力し『B列』から右方向の空白セルにその値を貼り付ける方法 4 2022/11/05 08:37
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Excel(エクセル) エクセルの自動更新のタイミングについて 1 2022/07/20 16:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイルコピーのスクリプトで...
-
Gitについて質問。 クローンし...
-
パワポでスライドをコピーでき...
-
バッチファイル XCOPYで上書き...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルで複数のコメントのサ...
-
現在のブックを閉じないで、マ...
-
マインクラフトPCをプレイしよ...
-
Vba初心者です。下記のコード助...
-
エクセルVBAでファイル・シート...
-
ファイルサーバ上のファイルが...
-
VBSで作成したフォルダにファイ...
-
AVIUTlって iPadでも使えますか?
-
[C#]Excelファイルをコピーする...
-
パソコン内の写真が消えた?
-
同じファイル名 上書きしないフ...
-
エクセル2010、図が大きすぎま...
-
DVD-Rの作成ができない
-
FSO.CopyFileでのエラー無視方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで複数のコメントのサ...
-
現在のブックを閉じないで、マ...
-
エクセルのマクロについて教え...
-
frxファイルの役目
-
バッチファイル XCOPYで上書き...
-
エクセルのハイパーリンクがコ...
-
エクセルVBAで開いているファイ...
-
ファイルサーバ上のファイルが...
-
エクセル2010、図が大きすぎま...
-
[エクセル]コピーするとオブジ...
-
バッチファイルのコピーで
-
アクセス クエリを別のファイ...
-
Vba初心者です。下記のコード助...
-
バッチファイル 別ファイルにリ...
-
同じファイル名 上書きしないフ...
-
Gitについて質問。 クローンし...
-
vbsでExcelのシートをコピーす...
-
マインクラフトPCをプレイしよ...
-
xcopyでのバッチコピー方法でコ...
-
ファイルをコピーできない
おすすめ情報