マクロでこんなことできませんか?
完全でなくても構いませんので、できる範囲で教えてください。
宜しくお願いします。
マクロを起動すると、ファイルを選択するウインドウが開きます。ここで、あるExcelファイル(仮にC:\MYDOCUMENT\EXCEL\AAAA.xls)を選択すると、このファイルのセルB2,B3,B4,B5が、マクロを実行しているファイルの同じセルにコピーされ、更にセルB1に、AAAA.xlsの.xlsを抜いた数値のAAAAが入力されます。
AAAA.xlsは一度オープンになってもかまいませんが、自動的に閉じればベターです。
No.2ベストアンサー
- 回答日時:
こんにちは。
こんな感じでしょうか。
「ファイルのセルB2,B3,B4,B5」「マクロを実行しているファイルの同じセル」とありますが、複数のシートが存在する可能性があるので、これでは特定出来ません。
取あえず双方ともActiveSheetで処理してます。
Sub Test()
Dim FName, i As Integer
Dim wb As Workbook, pWs As Worksheet
Set pWs = ThisWorkbook.ActiveSheet
FName = Application.GetOpenFilename("Excel (*.xls), *.xls")
If FName = False Then Exit Sub
Workbooks.Open (FName)
Set wb = ActiveWorkbook
pWs.Range("B1") = Left(Dir(FName), Len(Dir(FName)) - 4)
For i = 2 To 5
pWs.Range("B" & i) = wb.ActiveSheet.Range("B" & i)
Next i
wb.Close
End Sub
No.3
- 回答日時:
少し簡単になりました。
(1)私の場合、My Documentsの中にaa2.xlsのファイルがある。
(2)エクセルを立ち上げて出来るBook1の標準モジュール
に下記を貼りつけ、実行します。
Sub test01()
Application.FindFile
x = ActiveWorkbook.Name
y = Left(x, Len(x) - 4)
Workbooks("Book1").Worksheets("sheet1").Range("B1") = y
Workbooks("Book1").Worksheets("sheet1").Range("B2") = ActiveSheet.Range("b2")
Workbooks("Book1").Worksheets("sheet1").Range("B3") = ActiveSheet.Range("b3")
Workbooks("Book1").Worksheets("sheet1").Range("B4") = ActiveSheet.Range("b4")
End Sub
(3)ファイル名指定のダイログウインドウがでるから、そこでaa2のアイコンをクリックする。
(4)Book1のsheet1のB1セルにaa2、B2,B3,B4にaa2の
Sheet1のB2,B3,B4の内容が書きこまれました。
(5)最後にActiveWorkbook.Closeを入れると,
自動的にaa2は閉じるもことが出来ます。
No.1
- 回答日時:
出来ます。
が、結構プログラミングの知識が要求されます。
このスペースで説明するのは大変なので、ヒントだけですが記載します。
難関はファイル選択ウィンドウの表示で、VBのコモンダイアログコントロールがインストールされていると簡単にウィンドウズ標準のファイル選択ダイアログを呼び出せますが、なければWin32APIをコールするか、ExcelのInputダイアログで代用します。
読み込んだExcelファイルはExcelオブジェクトとして扱う知識が必要です。セルの値はもちろん取得可能です。
"C:\MYDOCUMENT\EXCEL\AAAA.xls"から"AAAA"を抜き出す方法は、文字列検索系の関数Instr()やRevInstr()、と文字列抽出系のMid()やLeft()、Right()などを組み合わせればわりと簡単にできるでしょう。もちろん一文字ずつファイル名を解析するコードを書いてもOKですし、Replace()を使えばもっと簡単にできるでしょう。
がんばって下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Excel(エクセル) マクロVBA別Excelブックにデータ転記 2 2022/07/10 23:35
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/04 17:58
- Visual Basic(VBA) Excelのマクロについて教えてください。 1 2023/03/12 12:16
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/02/07 09:58
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
このQ&Aを見た人はこんなQ&Aも見ています
-
賃貸で可能な古民家風レトロな部屋作りのコツ!改めて知る畳の高い機能性と魅力も紹介
畳の部屋を雰囲気のよい部屋に仕上げたい!賃貸住宅でもできる古民家風のレトロな部屋作りのコツを伺った。
-
別ブックをダイアログボックスで指定してそこにあるシートをコピーしたい
Excel(エクセル)
-
VBAで任意のファイルを読み出して貼り付けたい
Excel(エクセル)
-
エクセルVBAでファイル・シート名を指定して、現在のブックのシートにコピーしたい
Visual Basic(VBA)
-
-
4
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
5
WorkBooksをオープンさせずにシートにコピーしたい【EXCEL VBA】
Excel(エクセル)
-
6
メッセージボックスを前面に表示させるには?
Visual Basic(VBA)
-
7
Excel VBA別ブックのシートをコピーするには
Visual Basic(VBA)
-
8
【Excel VBA】指定行以降をクリアするには?
Visual Basic(VBA)
-
9
VBA コピーして次の値まで貼り付けを繰り返す
Visual Basic(VBA)
-
10
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
11
別のシートから値を取得するとき
Visual Basic(VBA)
-
12
Excelのセルにユーザー名を表示する方法
Excel(エクセル)
-
13
アクセスからエクセルのシートを追加して、名前をつける方法
Excel(エクセル)
-
14
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
15
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
16
【Excel VBA】データ貼り付け先のシート名選択
Excel(エクセル)
-
17
エクセルVBA ブックを閉じる前に確認メッセージを表示したい
Excel(エクセル)
-
18
ExcelVBAで、選択範囲内で同じ値が入力されたセルを調べる
Visual Basic(VBA)
-
19
ACCESS、VBAでEXCELファイルをコピーはできますか
その他(データベース)
-
20
エクセルでENTERを押すと数式がそのまま文字列になってしまう
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCEL VBA 指定したファイルが...
-
VBAでワークブックの名前を変数...
-
エクセル 複数ファイルの一括...
-
エクセルマクロで不特定なファ...
-
エクセルのxls形式からxlsx形式...
-
vba初心者です。 質問です。 毎...
-
エクセルのマクロについて教え...
-
エクセルのシートの数を数えた...
-
フォルダ内のexcelファイルを順...
-
VBA ふたつの同じ様式シートの...
-
ファイル名を変更するマクロ
-
accessフォルダを移動したらフ...
-
フォルダ内のブック全部にパス...
-
ファイルの保存場所を変えたら...
-
ACCESS VBAでファイルを開くダ...
-
ACCESSのマクロを自動で実行さ...
-
エクセルVBA ユーザーフォーム...
-
EXCELマクロを無効にして開く方法
-
エクセルVBAで送る操作
-
エクセルで行列を入れ替えるを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCEL VBA 指定したファイルが...
-
【マクロ】名前を保存する際に...
-
VBAでワークブックの名前を変数...
-
エクセルマクロで不特定なファ...
-
【マクロ】読取専用のファイル...
-
エクセルのxls形式からxlsx形式...
-
エクセルのシートの数を数えた...
-
フォルダ内のexcelファイルを順...
-
エクセル(マクロ)のファイル...
-
vlookup関数の引数を変数で指定...
-
エクセル 複数ファイルの一括...
-
ファイルを開かずにマクロを実行
-
フォルダ内のブック全部にパス...
-
【Excel VBA】ファイル名が一...
-
ファイルの保存場所を変えたら...
-
vba初心者です。 質問です。 毎...
-
Accessのaccdbファイルを起動で...
-
リンク切れチェックを行うマクロ
-
Excel VBA でファイルが開かれ...
-
エクセルマクロ 異なるファイ...
おすすめ情報