• 締切済み

EXCEL VBA 出力先セルの取得

お世話になります. 下記の実現方法が分からないので質問させていただきます. excelマクロにて,フォルダの容量を測定し,その結果をワークシートに出力させようと考えています. 現在,測定した内容の出力先はソース中にセルを指定していますが, ワークシート上でセルを選択し,選択したセルに出力するようにしたいと考えています. また,マクロを実行すると,「出力先を選択して下さい」といった表示を出せればと考えています. ちなみに出力データは複数件あり,選択セル以下の行へ,データがなくなるまで出力したいと考えています. 知識不足のため,抽象的な質問となってしまいますが, 有識者の方,ご存知であればご教授頂ければ幸いです. 以上,よろしくお願いいたします.

みんなの回答

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

セルの選択方法は回答が出てますのでパスしますが、 >データがなくなるまで出力したいと考えています. データはどのように取得されているのですか? 配列に入っているのであれば、Resizeプロパティで出来ると思いますが。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

質問がわかりにくいが下記をやって応用できないか考えて。 値を代入するセルがその都度1セルの場合 Sub test01() s = Array("縦", "横", "高さ") v = Array(11.2, 14, 5) For i = 1 To 3 Set x = Application.InputBox(s(i - 1), Type:=8) x.Value = v(i - 1) Next i End Sub 複数セルの範囲に順次代入する場合は、Offsetを使えると思う。 >上記のINPUTBOX のPrompt文を s(i-1)& "の値の出力先を選択して下さい" に変えるだけ。

関連するQ&A

  • エクセルVBA

    Sub 金額未記入のセルをカウント() Dim kensu As Long Range("I100").End(xlUp).Select 'リストの最終行を、上方向に向けて指定する Selection.Offset(0, 1).Select '上で指定したセルの、右の列のセルを指定する Selection.Font.Bold = True '選択しているセル範囲の文字を太字にする Range(ActiveCell, "J4").Select '最後のセルから上までの範囲を選択する ActiveWorkbook.Names.Add Name:="kingaku", RefersToR1C1:=Selection '金額の範囲に名前をつける Range("I1").FormulaR1C1 = "=COUNTBLANK(kingaku)" 'セルI1に式を代入する End Sub 経常費ファイルについての質問です。 月ごとに、ワークシートがあり、品名、個数のあとに、総額を入れています。 個数は最初からデータが入っているため、総額のところが未記入だと、まだ 品物が入荷していない、と、わかるように工夫しました。 上記のマクロで、各ワークシートごとには、未記入セルの個数を表示できるのですが、 違う月のワークシートでも、その数字が表記されてしまいます。 そこで、マクロを実行するボタンを押すと、その月の未記入セルの個数を出すことは できるのですが、 ワークシートごとに、そのワークシートにあった数字を表記できたままにするには、 どうしたらよろしいでしょうか。 わかりにくい質問で、申し訳ありませんが、よろしくお願いします。

  • エクセルの参照先セルの選択について

    こんばんは マクロ初心者の者です。 あるセルに別シートを参照する式が 入力されています。 「=Sheet2!A1」←こんな感じです。 その参照先セルを選択したいのですが どうすればいいでしょうか? どなたか、教えてください お願いします。 m(_ _)m

  • VBA 固定セルから可変セルへのハイパーリンク

    VBA、マクロの記述方法を教えてください ハイパーリンク元:ワークシート1のA1セル ハイパーリンク先:ワークシート2のcells(リンク先セルの行番号,リンク先セルの列番号) リンク先セルの行番号、リンク先セルの列番号はいずれもINTEGERの変数名、でハイパーリンクを張ろうとする時点(段階)でマクロによって値が定義(付与)されているもの、とします

  • エクセルで”=Sheet1!A1”など、関数?を出力しているセルを、他

    エクセルで”=Sheet1!A1”など、関数?を出力しているセルを、他のセルにコピーしたいのですがどうしたらいいのでしょう? 普通に、そのようなセル達をある範囲で選択してコピーしても、=Sheet1!#REF! となって、エラー?のようになります。。出力されたデータだけをそのままコピーしたいのです。(関数とかはコピー先には持って行きたくない)初心者で、伝わりにくいかもですが、どうぞよろしくお願い致しますm(_ _)m ちなみにOSはXPで、エクセルVerはエクセル2002SP3です。よろしくお願いします。

  • エクセルマクロ超初心者で、悩んでます。

    エクセルマクロ超初心者で、悩んでます。 どなたか助けてください。 悩みはこうです↓ データ用のワークシートのセルに数字、文字が入力してあります。 セルの数値同士の引き算で算出した数値を列数として、別の印刷用のワークシートのセル番地(列、行)に、「文字」を表示したいのです。 日本語で書いちゃうと ワークシート「印刷用」の、あるセル番地(ワークシート「データ用」から、列数はJ1‐A1、行数はのB1の数値)に ワークシート「データ表」のC1の文字 を出力せよ です。 Worksheets選択がうまくいきません CellsかRangeを使うのかと思いますが、引き算する表現がわかりません・・ 文例があれば、稚拙ながら活用できるかなと思います。 よろしくお願いします!

  • ExcelのVBA、セルについて教えて下さい

    セル内容の比較についてのマクロで教えてください。 まずブックAとブックBという2つのワークブックがあります。 ブックAのD4セルにはS144A03といったよな数字と英語が入っています。 ここからが行いたいことなのですが ブックAでマクロ実行 ⇒ ブックBを開きシートAを選択 Application.InputBoxでブックBのシートA内のセルを選択してOKを押した時 ブックAのD4セルの内容とApplication.InputBoxで選んだセルの内容が同じなら”認証OK” 違う場合は”認証NG”とMsgBoxで表示されるようにしたいです。 認証後はどちらの結果であってもブックBの方は閉じてしうまう形にしたいです。保存の確認はいりません。 ご指導のほどよろしくお願いします。

  • Excelマクロ 選択したセルに対応する文字を設定

    A1からA5000までとB1からB5000までにデータが入っているとします。 その、A1からB5000までのデータを配列として収納して、選択したセルでマクロを実行するとA列から検索して対応するB列の値を一つ右のセルに挿入するマクロを作りたいと思います。 このようなマクロを作るには、 1.データを収納するマクロ 2.検索して出力するマクロ を作る必要があると思うのですが、どのような方法で実現するのがよいでしょうか?

  • VBA アクティブなセルのシート名を取得したい

    エクセル2010使用です。 VBAで、アクティブなセルのあるシート名を取得する方法を教えてください。  マクロ.xls (マクロシートA1) ←今回のマクロを書き込んだファイル  参照.xls (参照シートA1)  入力.xls (入力シートF3) この3つのエクセルファイルを開きます。 ( )内はそれぞれの前面にあるシート名と選択されたセルです。 入力シートのF3にカーソルをおいて下記マクロを実行すると   MsgBox ActiveSheet.Name & ActiveCell.Address 「マクロシート F3」と返されます・・・ ほしい結果は「入力シート F3」なんです。 このような場合にアクティブセルのあるシート名を取得する方法があれば教えてください。 よろしくお願いいたします。

  • Excel VBA セルの選択と消去

    ご覧いただき、ありがとうございます。 最近、会社のPCでExcelでのVBAプログラミングの練習をしています。 先頭ページにボタンをつけて、マクロを設定していますが、以下の動作が どうしてもできません。  ・別シート(WORKとしておきます)にある表のデータをクリアしたい ・クリアしたいのは、WORKシートのA5、B5セル以下のデータが入力されている個所すべて  ・以下のプログラムを書いてみたが、エラーになる    WorkSheets("WORK").Range("A5:B5", Range("A5:B5").End(x|down)). ClearContents 上記の構文に問題があるのはメッセージから分かるのですが、何が悪いのかが分かりません。  WORKシートをSelecしてセルをSelect、Selection.ClearContentsだと上手くいくのですが、画面のちらつきが気になるので、できるならば、先頭ページから遷移せずに実行させたいです。  現在、自宅のPCから質問を入力しているので、会社PCに書いていたプログラミングとは違うかもしれません。  もし、ヒントだけでもお分かりになる方がいらっしゃいましたら、ご教授いただければと思います。

  • エクセル(VBA)で複数セルのコピーができません

    お世話になっております。 マクロを使って複数のセルを選択してコピーし、別のブックにあるシートへ 貼り付けたいのですが上手くいきません。  Range(Selection, Selection.End(xlToRight)).Select   Selection.Copy 上記のようにコピーしたいセルの入っている行全体の貼り付けは出来たのですが、必要なデータのセルのみ(隣り合っていない)を選択して 貼り付けようとすると何もコピーされていない状態で終了してしまいます。 (変数に代入してコピー等・・・) どなたか教えて下さい。

専門家に質問してみよう