Excel VBA質問箱 IV

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

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


5336 / 13644 ツリー ←次へ | 前へ→

【51286】Select Caseの使い方を教えてください フランまま 07/9/10(月) 13:20 質問[未読]
【51287】Re:Select Caseの使い方を教えてください じゅんじゅん 07/9/10(月) 14:23 発言[未読]
【51439】Re:Select Caseの使い方を教えてください フランまま 07/9/18(火) 14:35 質問[未読]
【51443】Re:Select Caseの使い方を教えてください Jaka 07/9/18(火) 16:03 発言[未読]
【51288】Re:Select Caseの使い方を教えてください Jaka 07/9/10(月) 14:38 発言[未読]

【51286】Select Caseの使い方を教えてください
質問  フランまま  - 07/9/10(月) 13:20 -

引用なし
パスワード
   初心者です。よろしくお願いします。
下記のような表示をしたいのですが、Select Case 〜の使い方が
よくわかりません。
特に、一桁の場合は前に0をつけるというところがわかりづらいです。

よろしくお願いします。


※A列のデータを確認

ngEndROW = Range("A65536").End(xlUp).Row


For i = 3 To lngEndROW

 
   Bs = "": St = ""
  For Each C In Cells(i, 3).Resize(, 13)
     Bs = Trim(Cells(2, C.Column).Text)

Select Case C.Value
      Case Is = "": St = St
      Case Is = 0: St = St & Bs & "/00,"
   
 ※このあとがわかりません。   
   
     End Select


*******************************


C列   D列    E列   F列 
赤    青    白    黒 (2行目〜13行目まで)
    
1    10    9    0   →赤/01,青/10,白/09,黒/00

12    3    7    0   →赤/12,青/03,白/07,黒/00


・・・・・                ・・・・・・・・

【51287】Re:Select Caseの使い方を教えてください
発言  じゅんじゅん  - 07/9/10(月) 14:23 -

引用なし
パスワード
   ▼フランまま さん:
>   Bs = "": St = ""
>  For Each C In Cells(i, 3).Resize(, 13)
>     Bs = Trim(Cells(2, C.Column).Text)
>
>Select Case C.Value
>      Case Is = "": St = St
>      Case Is = 0: St = St & Bs & "/00,"
>   
> ※このあとがわかりません。   
>   
>     End Select

変数Stがよくわかりませんが、セルの値が数値であれば変更したいと言うのなら

  For Each C In Cells(i, 3).Resize(, 13)
     Bs = Trim(Cells(2, C.Column).Text)
       If IsNumeric(C.Value) Then
         C.Value = Bs & "/" & Format(C.Value, "00")
       End If
  Next
こうゆう事でしょうか?

【51288】Re:Select Caseの使い方を教えてください
発言  Jaka  - 07/9/10(月) 14:38 -

引用なし
パスワード
   Dim CC As Range
lngEndROW = Range("A65536").End(xlUp).Row
For i = 3 To lngEndROW
  St = Empty
  For Each CC In Cells(i, 3).Resize(, 13)
    If Application.IsNumber(CC) Then
      Bs = Trim(Cells(2, CC.Column).Value)
      St = St & Bs & "/" & Format(CC.Value, "00") & ","
    End If
  Next
  MsgBox Left(St, Len(St) - 1)
Next

【51439】Re:Select Caseの使い方を教えてください
質問  フランまま  - 07/9/18(火) 14:35 -

引用なし
パスワード
   ▼じゅんじゅん さん、Jakaさんありがとうございました。

以下実際のコードです。
変数Stはすべて数値です。

連結した数値を決まった列(AN列)に表示したいと思います。

Select Case C.Value〜の条件を今度は

空白の場合は空白のまま
0の場合は00(0→00)
1ケタの場合は前に0をつける(4→04)
2ケタの場合はそのまま(20→20)

としたいのです。

どうぞよろしくお願いします。


********************

Dim C As Range
  Dim i As Integer
  Dim v As Integer
  Dim Bs As String, St As String
  Dim lngEndROW As Long

ngEndROW = Range("B65536").End(xlUp).Row


For i = 2 To lngEndROW

 
   Bs = "": St = ""
  For Each C In Cells(i, 5).Resize(, 34)
     Bs = Trim(Cells(1, C.Column).Text)

     Select Case C.Value          ←※※ここの条件を変えます
      Case Is = "": St = St
      Case Is < 2: St = St & Bs & "/00,"
      Case Is < 6: St = St & Bs & "/01,"
      Case Is < 10: St = St & Bs & "/02,"
      Case Else: St = St & Bs & "/99,"
     End Select
    
   Next
   Range("AN:AN").NumberFormat = "@"

   St = Left$(St, Len(St) - 1)
   Cells(i, 40).Value = Trim(St)
   
  Next i
 

【51443】Re:Select Caseの使い方を教えてください
発言  Jaka  - 07/9/18(火) 16:03 -

引用なし
パスワード
   ▼フランまま さん:
>空白の場合は空白のまま
>0の場合は00(0→00)
>1ケタの場合は前に0をつける(4→04)
>2ケタの場合はそのまま(20→20)
>
>としたいのです。
ヘルプでFormat 関数を調べてみてください。
たぶん望みのものが載っていると思います。
尚、Format関数で返ってきた物は文字列になります。

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