• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:テキストボックスの値を他のブックのセルで表示したい)

テキストボックスの値を他のブックのセルで表示したい

このQ&Aのポイント
  • EXCELsolo365 Windows10で、テキストボックスに入力された日付を他のブックのセルに直接リンクして表示したいです。
  • マクロの記録で行うと、Pasteメソッドが失敗してしまいます。
  • Sub test()の記述で、A.xlsmのA1セルの値をB.xlsmのCCシートのD1セルにリンクして表示する方法を教えてください。

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1734/2604)
回答No.3

> B.xlsm ブックは毎月1回、異なるシートに更新しますので No2を回答するときにこの補足を見ていなかったのですが シートは「CC」限定ではなく、コード実行時に選択されているシートにリンクする場合は Sub test2() Workbooks.Open Filename:=ThisWorkbook.Path & "\A.xlsm" Windows("B.xlsm").Activate ActiveSheet.Range("D1").Formula = "=[A.xlsm]Sheet1!$A$1" End Sub

noname#243225
質問者

お礼

あありがとうございます。自分が思っているようにできました。感謝です。

その他の回答 (3)

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

なんで複雑な問題にして(テキストボックスなど使って)考えるのか。あえて質問するなら、事情を書いておくべきと思う。 (1)テキストボックスを使うのは、テキストボックスに文字を打ち込み、それがいわった終わったことを知らせるため、コマンドボタンを1つ設けるようにすべきだろう。これが書いてないのはなぜ。 すると、コマンドボタンのクリックイベントで、 Private Sub CommandButton1_Click() Worksheets("Sheet1").Range("A1") = UserForm1.TextBox1.Text End Sub でA1セルに値がセットされる。 (2)他ブックのシートセルに値代入 両ブックを開いている状態で、 Sub test01() x = Workbooks("コントロール動的作成.xlsm").Worksheets("Sheet1").Range("A1") MsgBox x Application.Windows("XXXX.xlsx").Activate Workbooks("YYYY.xlsx").Worksheets(3).Range("B2").Value = x End Sub 質問ではB2はU2ですが。 あと ・リンク貼り付けにする(上記は代入) ・ブックを開かないで行う など積み残しているが、とりあえず、挙げます。 2つのブックをまたいで処理するのは、学習が初心者には大変で、出来れば避けるのが賢明かと。  すでに出ている回答の方を検討すべきかと。

  • kkkkkm
  • ベストアンサー率66% (1734/2604)
回答No.2

ThisWorkbook.Path & "A.xlsm" は ThisWorkbook.Path & "\A.xlsm" じゃないと開かないと思いますがタイプミスでしょうか。 全体的に以下のようにしてみてはいかがでしょう。 Sub test() Workbooks.Open Filename:=ThisWorkbook.Path & "\A.xlsm" Windows("B.xlsm").Activate Sheets("CC").Select Range("D1").Formula = "=[A.xlsm]Sheet1!$A$1" End Sub

  • kkkkkm
  • ベストアンサー率66% (1734/2604)
回答No.1

B.xlsm のセルU2で「=」を入力してA.xlsmのセルA1を選択してリンクしておけばいかがですか。

noname#243225
質問者

補足

すみません。B.xlsm ブックは毎月1回、異なるシートに更新しますので、更新された時も自動でA.xlsm の日付を入れたいです。入れるセル番地はいつも同じにしたいです。

関連するQ&A

専門家に質問してみよう