プロが教える店舗&オフィスのセキュリティ対策術

Excel VBAで外部データを取得したいのですが、例えばファイルパスをB2に記入、シート名をB3に記入して対象の値が書いてある列を取得したいのですが、どのようにプログラムを書けば良いですか?

A 回答 (3件)

B2がフルパスであったとしてB3がシート名ならば、



>対象の値

とは?

そもそも外部データがBookならB2の値を基にBookを開きB3の値でSheetを決めてCellsで全範囲をFindメソッドで検索し、セルが見つかったら行列を取得って事なのでは?
それとも該当シートに存在するデータがある列(範囲?)を知りたいという事?

【エクセルVBA】シートで使用されているセルの範囲全てを取得する方法
https://tonari-it.com/excel-vba-usedrange-curren …
    • good
    • 0

どういう処理手順になると考えますか?


それが考えられない方にソースコードを示しても理解できないだけですが。。。


> 例えばファイルパスをB2に記入、シート名をB3に記入して

利用者がこれを行った後、どういう操作を行うと入力された値を使ったプログラム処置が動き出す・・・と設計されますか?


> 対象の値が書いてある列を取得したい

VBAでファイルをオープンするにはどのようにすればよいとお考えですか?
その方法を知らない場合、どのように調べればよいとお考えですか?

VBAでExcelファイルを開い際、あるシートを処理対象にしたい時はどのようにすればよいとお考えですか?
その方法を知らない場合、どのように調べればよいとお考えですか?
ちなみにファイルパスに指定されたファイル名がExcelファイルの物では無かったり、存在しないファイル名などであったらどうしますか?

次に「対象の値」は何処にどのような形であればよいと考えられますか?
プログラムの中に設けたある名前の変数の初期として固定的に持てばよいですか?
それともファイルパスやシート名のように利用者が入力すればよいですか?
また、対象の値がシート中に存在しなかったらどうしますか? 複数ある場合はどうしますか?

上記のようなことを自身で考えたり出来たりしないと、ちょっと違う事をしようとした場合はまた誰かに「ソースコードを教えて」とお願いしなければなりません。
そもそも教えてもらったソースコードに依頼内容の誤解や、質問者様がお考えでない部分に対するコード作成者の解釈や、誤りがあったら手も足も出ないのではありませんか?

さてどうしましょう。。。

参考まで。
    • good
    • 2

こんにちは



No2様のご懸念の通りと感じますが、
一応、記述例や説明のあるページをご紹介しておきます。
(VBAのリファレンスサイトなので、他の疑問があってもここで調べられるでしょう)

◇ファイルオープン
https://docs.microsoft.com/ja-jp/office/vba/api/ …

◇列の参照
https://docs.microsoft.com/ja-jp/office/vba/api/ …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!