• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ワークシート上のテキストボックスの値表示させるには)

ワークシート上のテキストボックスの値表示させるには

このQ&Aのポイント
  • Excel2007とWindowsXP SP3を使用して、ワークシート上に表示されるテキストボックスの値を取得する方法について教えてください。
  • ワークシート上のActiveXコントロールのテキストボックスに名簿データを表示し、個人ごとに印刷する方法について教えてください。
  • マクロを実行してもテキストボックスの値が変わらず、1人目の個人票が印刷されるため、個人ごとに印刷する方法を教えてください。

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

  • ベストアンサー
  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.1

とりあえず動いたコード。ご参考まで。 シートモジュールに記述してありますが、深い意味はありません。 DoEventsは一個入れるだけではダメでした。 Sub test() Dim i As Long For i = 1 To 3 With Me .YearTextBox.Value = i DoEvents .MonthTextBox.Value = i * 2 DoEvents .DateTextBox.Value = i * 3 DoEvents .PrintOut End With Next i End Sub なお、結構長いsleepを入れてみるとか、YearTextBoxのChangeイベントでMonthTextBoxを書き換え、MonthTextBoxのChangeイベントでDateTextBoxの値を書き換え...てなこともやって見ましたが書き換わってはくれませんでした。

CaveatEmptor
質問者

お礼

忙しい中、回答ありがとうございました。 DoEventsを入れたらいいのですね。項目が多いのですべてにDoEventsを入れるのは大変ですが、しかたないですね。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

こんな感じでは? Sub Kojinhyo_PrintOut()   For i = 1 To 10     With Sheets("名簿")       生年月日 = .Cells(i, 5)       年 = Year(生年月日)       月 = Month(生年月日)       日 = Day(生年月日)       Sheets("個人票").OLEObjects("年").Object.Value = 年       DoEvents       Sheets("個人票").OLEObjects("月").Object.Value = 月       DoEvents       Sheets("個人票").OLEObjects("日").Object.Value = 日       DoEvents     End With     Sheets("個人票").PrintOut   Next End Sub

CaveatEmptor
質問者

お礼

忙しい中、回答ありがとうございました。 やはりDoEventsを個々に入れていくしかないようですね。

すると、全ての回答が全文表示されます。

関連するQ&A