Excel VBA質問箱 IV

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

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


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

【39938】セルの値をlabelに表示 taka 06/7/4(火) 15:33 質問[未読]
【39941】Re:セルの値をlabelに表示 Statis 06/7/4(火) 15:43 回答[未読]
【39946】Re:セルの値をlabelに表示 taka 06/7/4(火) 15:51 質問[未読]
【39953】Re:セルの値をlabelに表示 Statis 06/7/4(火) 16:05 回答[未読]
【39956】Re:セルの値をlabelに表示 taka 06/7/4(火) 16:26 質問[未読]
【39965】Re:セルの値をlabelに表示 Statis 06/7/4(火) 17:10 回答[未読]
【39967】Re:セルの値をlabelに表示 taka 06/7/4(火) 17:13 お礼[未読]

【39938】セルの値をlabelに表示
質問  taka  - 06/7/4(火) 15:33 -

引用なし
パスワード
   教えて下さい!
form上でcomboboxより4を選択したらfoem上のlabel1にsheet1のセルA1がlabel2にセルB1が・・・・label10にセルJ1の値が表示され、comuboboxより5を選択するとlabel1にセルA2が・・・・Label10にセルJ2の値がという様に、comboboxには12までの数字があります。がどのようなコードを記入すればよいですか?
よろしくお願いします。

【39941】Re:セルの値をlabelに表示
回答  Statis  - 06/7/4(火) 15:43 -

引用なし
パスワード
   ▼taka さん:
こんにちは
>教えて下さい!
>form上でcomboboxより4を選択したらfoem上のlabel1にsheet1のセルA1がlabel2にセルB1が・・・・label10にセルJ1の値が表示され、comuboboxより5を選択するとlabel1にセルA2が・・・・Label10にセルJ2の値がという様に、comboboxには12までの数字があります。がどのようなコードを記入すればよいですか?
>よろしくお願いします。


Private Sub ComboBox1_Change()
Dim i As Long
If Me.ComboBox1.Value = "" Then Exit Sub
With Worksheets("Sheet1")
   For i = 1 To 10
     Me.Controls("Label" & i).Caption = _
      .Cells(Val(Me.ComboBox1.Value), i).Value
   Next i
End With
End Sub

【39946】Re:セルの値をlabelに表示
質問  taka  - 06/7/4(火) 15:51 -

引用なし
パスワード
   ▼Statis さん:
>▼taka さん:
>こんにちは
>>教えて下さい!
>>form上でcomboboxより4を選択したらfoem上のlabel1にsheet1のセルA1がlabel2にセルB1が・・・・label10にセルJ1の値が表示され、comuboboxより5を選択するとlabel1にセルA2が・・・・Label10にセルJ2の値がという様に、comboboxには12までの数字があります。がどのようなコードを記入すればよいですか?
>>よろしくお願いします。
>
>
>Private Sub ComboBox1_Change()
>Dim i As Long
>If Me.ComboBox1.Value = "" Then Exit Sub
>With Worksheets("Sheet1")
>   For i = 1 To 10
>     Me.Controls("Label" & i).Caption = _
>      .Cells(Val(Me.ComboBox1.Value), i).Value
>   Next i
>End With
>End Sub


.Cells(Val(Me.ComboBox1.Value), i).Value
この意味を教えていただきたいのですが・・・。

【39953】Re:セルの値をlabelに表示
回答  Statis  - 06/7/4(火) 16:05 -

引用なし
パスワード
   こんにちは

>Cells(Val(Me.ComboBox1.Value), i).Value
>この意味を教えていただきたいのですが・・・。
質問内容から見ると
ComboBox1には「1〜12」の値がセットされている
「1」が選択の場合は「A1」=1行目の値をLabelに表示
なのでそのままComboBox1の値を使いました。
ComboBox1の値は文字列として扱われますので一応「Val関数」で
数値に変換しています。

【39956】Re:セルの値をlabelに表示
質問  taka  - 06/7/4(火) 16:26 -

引用なし
パスワード
   ▼Statis さん:
>こんにちは
>
>>Cells(Val(Me.ComboBox1.Value), i).Value
>>この意味を教えていただきたいのですが・・・。
>質問内容から見ると
>ComboBox1には「1〜12」の値がセットされている
>「1」が選択の場合は「A1」=1行目の値をLabelに表示
>なのでそのままComboBox1の値を使いました。
>ComboBox1の値は文字列として扱われますので一応「Val関数」で
>数値に変換しています。

なるほど、なんとなくわかりました・・・。
すみません、説明はだいぶはぶいたりしていたので・・・。
実際は、labelは43〜84までの31個あり、
comboboxの4を選択でB2〜AQ2
     5    B3〜AQ3
     6    B4〜AQ4
     7    B5〜AQ5
       ・
       ・
       ・
       ・
    12    B10〜AQ10
     1    B11〜AQ11
     2    B12〜AQ11
     3    B13〜AQ13
の値を表示させる様にしたいんですが・・・。
 

【39965】Re:セルの値をlabelに表示
回答  Statis  - 06/7/4(火) 17:10 -

引用なし
パスワード
   こんにちは

こんな感じです。

Dim i As Long, Co As Long
For i = 2 To 41
  Select Case Val(Me.ComboBox1.Value)
      Case 1 To 3: Co = 10
      Case 4 To 11: Co = -1
      Case 12: Co = -2
  End Select
  Me.Controls("label" & i + 41).Caption = _
    Worksheets("Sheet1").Cells(Val(Me.ComboBox1.Value) + Co, i).Value
Next i

一言。
なぜ最初から実際の内容を記載しないのでしょうか?
最初の回答は何だったのでしょう。
それとの自分で変更しようとしても出来ず再度質問したのでしょうか?
以前同じような事があったような気がします。

【39967】Re:セルの値をlabelに表示
お礼  taka  - 06/7/4(火) 17:13 -

引用なし
パスワード
   ▼Statis さん:
>こんにちは
>
>こんな感じです。
>
>Dim i As Long, Co As Long
>For i = 2 To 41
>  Select Case Val(Me.ComboBox1.Value)
>      Case 1 To 3: Co = 10
>      Case 4 To 11: Co = -1
>      Case 12: Co = -2
>  End Select
>  Me.Controls("label" & i + 41).Caption = _
>    Worksheets("Sheet1").Cells(Val(Me.ComboBox1.Value) + Co, i).Value
>Next i
>
>一言。
>なぜ最初から実際の内容を記載しないのでしょうか?
>最初の回答は何だったのでしょう。
>それとの自分で変更しようとしても出来ず再度質問したのでしょうか?
>以前同じような事があったような気がします。


ありがとうございました。
今後質問する際は、正しく分かりやすいように説明していきます。
手間をとらせてしまいました。すみませんでした。

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