Excel VBA質問箱 IV

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

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


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

【35424】列方向、行方向に検索しながら処理 さちきょん 06/3/3(金) 23:42 質問[未読]
【35432】Re:列方向、行方向に検索しながら処理 Kein 06/3/4(土) 13:20 回答[未読]
【35447】Re:列方向、行方向に検索しながら処理 さちきょん 06/3/4(土) 23:57 お礼[未読]

【35424】列方向、行方向に検索しながら処理
質問  さちきょん  - 06/3/3(金) 23:42 -

引用なし
パスワード
   こんばんは。いつもお世話になっております。
在庫表の作成について教えてください。

A列に品番、B〜BG列まで列方向にサイズ表示されており、
数字が入っているセルの数字のみを連結して表示したいと思います。

各在庫数は
=IF(B2="","",IF(B2<2,"00",IF(B2<6,"01",IF(B2<10,"02","99"))))
の条件でBH列に表示したいと思います。

これまで、こちらで教えていただき、縦方向に値を検索して
連結というコードを作ることができましたが、
今度は、縦と横方向に同時に検索しながら処理を繰り返す
場合はどのようなコードを使えばよいのかわからず困っています。

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


A     B     C ・・・     BH

品番   18.0    19.0・・・
AB123   10      8        18.0/99,19.0/02・・・
AB234    0              18.0/00・・・
AC123    3      2        18.0/01,19.0/01・・・
AC234    1              18.0/00
.
.
.

【35432】Re:列方向、行方向に検索しながら処理
回答  Kein  - 06/3/4(土) 13:20 -

引用なし
パスワード
   ベタ書きですので、うまくいくかどうか分かりませんが・・

Sub Test()
  Dim C As Range
  Dim i As Long
  Dim Bs As String, St As String

  For i = 2 To Range("A65536").End(xlUp).Row
   Bs = "": St = ""
   For Each C In Cells(i, 2).Resize(, 58)
     Bs = Cells(1, C.Column).Text
     Select Case C.Value
      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
   St = Left$(St, Len(St) - 1)
   Cells(i, 60).Value = St
  Next i
End Sub   

【35447】Re:列方向、行方向に検索しながら処理
お礼  さちきょん  - 06/3/4(土) 23:57 -

引用なし
パスワード
   ▼Kein さんへ

うまくいきました!!

ご回答いただき、本当にありがとうございました。


>ベタ書きですので、うまくいくかどうか分かりませんが・・
>
>Sub Test()
>  Dim C As Range
>  Dim i As Long
>  Dim Bs As String, St As String
>
>  For i = 2 To Range("A65536").End(xlUp).Row
>   Bs = "": St = ""
>   For Each C In Cells(i, 2).Resize(, 58)
>     Bs = Cells(1, C.Column).Text
>     Select Case C.Value
>      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
>   St = Left$(St, Len(St) - 1)
>   Cells(i, 60).Value = St
>  Next i
>End Sub

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