質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

1007閲覧

【VBA】セルを選択→ダウンロードフォルダ開く→ファイルを選択→選択したセルに挿入

Shou1142

総合スコア5

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2021/12/23 10:11

編集2021/12/27 08:38

タイトルの内容を実現するコードを書いてみました。
改善ポイント等あればご教示頂きたいです。

細かな条件は以下となります。
◆挿入先のセルは一つです
◆ファイルはユーザーが選択できるようにしたいです
◆ボタン押下→ダウンロードフォルダ開く→ファイルをダブルクリック→挿入

Sub 〇〇〇データ取り込み()
'変数定義
Dim ws3 As Worksheet '"〇〇〇データ選択シート"を変数化
Dim rng As Range
Dim SelectFile As String '選択したファイル名を格納する変数
Dim myShape As Shape

Set ws3 = Worksheets("〇〇〇データ選択シート") Set rng = ActiveCell With Application.FileDialog(msoFileDialogFilePicker) .Show 'ファイルダイアログを開く SelectFile = .SelectedItems(1) '「開く」ボタンを押すとファイル名が取得できる Set myShape = ActiveSheet.Shapes.AddPicture(SelectFile, False, True, rng.Left, rng.Top, -1, -1) '選択したセルに挿入 End With

End Sub

どうぞよろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ws3もmyShapeも、セットしたあと使ってないのが気になりますが
意図通りに動いているならとりあえずは良いのではないでしょうか。

VBA

1Sub 〇〇〇データ取り込み() 2 Dim SelectFile As String '選択したファイル名を格納する変数 3 4 With ActiveCell 5 'If Not .Worksheet.name = "〇〇〇データ選択シート" Then Exit Sub 6 With Application.FileDialog(msoFileDialogFilePicker) 7 .Show 'ファイルダイアログを開く 8 If .SelectedItems.Count = 0 Then Exit Sub 9 SelectFile = .SelectedItems(1) '「開く」ボタンを押すとファイル名が取得できる 10 End With 11 '選択したセルに挿入 12 .Worksheet.Shapes.AddPicture SelectFile, False, True, .Left, .Top, -1, -1 13 End With 14End Sub 15

投稿2021/12/27 09:48

jinoji

総合スコア4592

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問