Excel VBA質問箱 IV

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

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


21571 / 76732 ←次へ | 前へ→

【60554】Re:一つのシートから、複数のシートの作成
発言  ponpon  - 09/2/27(金) 22:19 -

引用なし
パスワード
   ▼nokubo さん:
>
>A列には10000から始まる部品コードが50000まで入力されております。
>部品コードの上2桁をシート名とし、上2桁が一致する部品コードを取得したいと
>考えております。
>
>例:10000〜10999までがSheet名『10』
>  11000〜11999までがSheet名『11』
>  13000〜13999までがSheet名『13』
>※桁が飛ぶ場合もあります。
>  Sheet名『10』のデータはA2:A1000,10000:10999です。
>  A列を走査して、50000以降はデータが入っていないので、
>  プログラムを終了する。というようにしたいのです。

ならば、Sheet名は、『10』から『49』までですよね?
はじめにシートを作成し、

A列の値の上2桁を取得するには、

Sub test()
  Dim i As Long
  Dim myVal As Long
  
  With Sheets("Sheet1")
    For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
      If Not IsEmpty(Cells(i, 1).Value) Then
        myVal = Left(Cells(i, 1).Value, 2)
      End If
     ' MsgBox myVal
    Next
  End With
End Sub


でできると思うので、後はSelect Caseで分岐したらいかがでしょう?

>
>IF Sheet1のA2が空白でなければ、新たにA2の上2桁の値をシート名とした、シートを作成する。
>
>Sheet1のA3の上2桁の値がA3の上のセルの値と同じであればA3の値を新たに作成した、シートへ転記する。
>
>上記のような事をしたいとおもっていますが、可能でしょうか?

0 hits

【60551】一つのシートから、複数のシートの作成 nokubo 09/2/27(金) 16:12 質問
【60554】Re:一つのシートから、複数のシートの作成 ponpon 09/2/27(金) 22:19 発言
【60556】Re:一つのシートから、複数のシートの作成 Street 09/2/27(金) 22:36 回答
【60569】Re:一つのシートから、複数のシートの作成 nokubo 09/3/2(月) 11:02 お礼
【60557】Re:一つのシートから、複数のシートの作成 kanabun 09/2/28(土) 0:51 発言
【60558】Re:一つのシートから、複数のシートの作成 Hirofumi 09/2/28(土) 7:40 回答

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