• ベストアンサー

テキストボックスの値を スプレッドシートへ表示するには?

Excel2003 VBA ユーザーフォームへ Textbox1 Textbox2 Textbox3 と スプレッドシートを配置しています。 Textboxの値を スプレッドシートの指定した位置に表示したいのですが コードはどの様に書いたらいいのですか? 例えば… Textbox1 スプレッドシートの A1 Textbox2 スプレッドシートの B1 Textbox3 スプレッドシートの C1 VBAまだ初心者です。 

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

  • ベストアンサー
  • onlyrom
  • ベストアンサー率59% (228/384)
回答No.3

例えば、CommandButton1のClickイベントで転記する場合。 '---------------------------------------------- Private Sub CommandButton1_Click()  Spreadsheet1.Cells(1, 1).Value = TextBox1.Text  Spreadsheet1.Cells(1, 2).Value = TextBox2.Text  Spreadsheet1.Cells(1, 3).Value = TextBox3.Text End Sub '------------------------------------------------- 外しましたらご容赦願います。  

palsation
質問者

お礼

onlyromさん 有難うございました。 基本記述と同じなのですね 使わせていただきます。

その他の回答 (3)

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

シートへ貼り付けたテキストボックスではプロパティにLinkedCel ガあり、ここにA1と入れておけばよいのです。 ーー フォームUserform1に貼り付けたテキストボックスなら、 ContolSourceにB1とかを設定しておけば良いのでは。 (エクセル2002)

palsation
質問者

お礼

imogasiさん 有難うございました なるほど そんな機能も有ったのですね 設定確認して使ってみます。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

#01です。 そうですか。私の環境で「MS Office Spreadsheet 11.0」で動作確認したときには動きましたよ。なおご承知とは思いますがマクロが動作するのはTextBoxからフォーカスが他へ移るときです。 >何が いけないのでしょうね・・・ 何回かユーザーフォームにSpreadsheetを貼り付けた等のためにSpreadsheetの名前が変わっているのではないでしょうか。 VBE画面のユーザフォームモジュールシートでオブジェクトのプルダウンリストを見て、SpreadsheetのObject名を確認してみてください。 全く新規のブックにTextBoxとSpreadsheetだけのフォームを新規に作成してテストしてみるのも一策とは思いますが…

palsation
質問者

お礼

zap35さん 有難うございます いろいろ試したのですが、Verの違いから来る エラーみたいでした 当方Excel2000 Spreadsheet 10 Excel2000から作成したSpreadsheet は2002だとエラーが起きます。  Excel2002から作成したSpreadsheet は問題なく表示し 結果的にExcel2000は操作は出来ても 編集は出来ないみたいでした。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

例えば Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)  Spreadsheet1.Sheets("Sheet1").Range("A1").Value = TextBox1.Value End Sub

palsation
質問者

お礼

早々の回答有難うございます。 しかし 「実行時エラー438 オブジェクトは、このプロパティーまたは メッソドをサポートしていません」との エラーが出ます いろいろ 試したのですが 旨くいきません 何が いけないのでしょうね・・・

関連するQ&A