• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel VBA 他のブックへ値を返す)

Excel VBAで他のブックへ値を返す方法

このQ&Aのポイント
  • Excel VBAを使用して他のブックに値を返す方法を学びたいです。
  • 「備品」というブックと「不用品報告」というブックを作成し、ボタンをクリックすると「備品」のデータが「不用品報告」に順次入力されるようにしたいです。
  • ActiveCell.Rowを使用して特定の行のデータを飛ばすことができないようです。別の方法や不具合の対処法について教えていただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

不用品報告をマクロの中で開いた時点で、アクティブセルはそっちのブック(の開いているシートの)になります。 それまで開いていたthisworkbookの(=マクロを起動した時点の)、アクティブセルではありません。 簡易な直し方: set workbook1=workbook.open(…不用品報告 thisworkbook.activate などのようにして、アクティブを引き戻してください。 別の対処法: sub macro1()  dim w as workbook  dim targetrow as long  dim rx as long  rx = activecell.row  set w = workbooks.open(thisworkbook.path & ""\不用品報告.xlsx")  activeworkbook.worksheets("廃棄一覧").select  targetrow = range("C65536").end(xlup).row + 1  cells(targetrow, "G").value = thisworkbook.worksheets("一覧").cells(rx, 15).value  cells(targetrow, "H").value = "報告する"  w.close savechanges:=true  msgbox "DONE" end sub

sanuki--8
質問者

お礼

とてもスッキリする回答ありがとうございます。 無事望み通りのことができました。 しかも、自分のものよりシンプルなやり方まで教えていただき、とても参考になりました。 本当にありがとうございました。

関連するQ&A