Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1768 / 13645 ツリー ←次へ | 前へ→

【72062】ActiveX コントロールについて 亜矢 12/5/23(水) 12:29 質問[未読]
【72064】Re:ActiveX コントロールについて UO3 12/5/23(水) 12:55 発言[未読]
【72065】Re:ActiveX コントロールについて 亜矢 12/5/23(水) 13:08 お礼[未読]

【72062】ActiveX コントロールについて
質問  亜矢  - 12/5/23(水) 12:29 -

引用なし
パスワード
   よろしくお願いします。
エクセル2007 Windows7の環境です。
シートが9枚あり、そのシートにActiveXのTextboxが4〜10個配置してあります下記はそのプログラムの一部です。
 問題は Sheets("P" & i).TextBox1.Valueの部分のTextbox1 を
 たとえば Textbox & kにしたいのですが、うまくいきません。
 どのようにしたらよいか教えて頂きたいと思います。
 
 For i = 1 To 9
   Sheets("P" & i).Activate
   For K = 1 To 10
   On Error Resume Next
   PP = Sheets("P" & i).TextBox1.Value
   Next
  Next

【72064】Re:ActiveX コントロールについて
発言  UO3  - 12/5/23(水) 12:55 -

引用なし
パスワード
   ▼亜矢 さん:

こんにちは
シート上の図形の指定の記述方法はいろいろあります。
(ありすぎて、かえってやっかい)
いずれにしても、この処理を行うのに、シートをActiveteする必要はありません・

以下にサンプルを。

Sub Sample1()
  Dim i As Long
  Dim K As Long
  
  For i = 1 To 9
    For K = 1 To 10
      MsgBox Sheets("P" & i).OLEObjects("TextBox" & K).Object.Value
    Next
  Next
  
End Sub

Sub Sample2()
  Dim i As Long
  Dim K As Long
  
  For i = 1 To 9
    For K = 1 To 10
      MsgBox Sheets("P" & i).Shapes("TextBox" & K).DrawingObject.Object.Value
    Next
  Next
  
End Sub

【72065】Re:ActiveX コントロールについて
お礼  亜矢  - 12/5/23(水) 13:08 -

引用なし
パスワード
   ▼UO3 さん:
>▼亜矢 さん:
>
>こんにちは
>シート上の図形の指定の記述方法はいろいろあります。
>(ありすぎて、かえってやっかい)
>いずれにしても、この処理を行うのに、シートをActiveteする必要はありません・
>
>以下にサンプルを。
>
>Sub Sample1()
>  Dim i As Long
>  Dim K As Long
>  
>  For i = 1 To 9
>    For K = 1 To 10
>      MsgBox Sheets("P" & i).OLEObjects("TextBox" & K).Object.Value
>    Next
>  Next
>  
>End Sub
>
>Sub Sample2()
>  Dim i As Long
>  Dim K As Long
>  
>  For i = 1 To 9
>    For K = 1 To 10
>      MsgBox Sheets("P" & i).Shapes("TextBox" & K).DrawingObject.Object.Value
>    Next
>  Next
>  
>End Sub
ありがとうございました。解決しました。

1768 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free