Excel VBA質問箱 IV

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

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


5560 / 13646 ツリー ←次へ | 前へ→

【50129】タイプ毎にシート分け Noritake 07/7/10(火) 16:59 質問[未読]
【50130】Re:タイプ毎にシート分け マクロマン 07/7/10(火) 17:17 発言[未読]
【50131】Re:タイプ毎にシート分け Hirofumi 07/7/10(火) 18:12 発言[未読]
【50148】Re:タイプ毎にシート分け Noritake 07/7/11(水) 16:36 お礼[未読]

【50129】タイプ毎にシート分け
質問  Noritake  - 07/7/10(火) 16:59 -

引用なし
パスワード
   次のようなデータがあり、これらをタイプ別にシート分けをしたいと思っています。

コード    タイプ     
11123    A     
11123    A     
11123    B     
11123    B     
11123    B     
22233    B     
22233    B     
22233    B     
22233    C     
33333    C     
33333    C    


成しえたい結果
----------------------
sheet1
コード    タイプ
11123    A
11123    A


sheet2
コード    タイプ
11123    B
11123    B
11123    B
22233    B
22233    B
22233    B


sheet3
コード    タイプ
22233    C
33333    C
33333    C

--------------------
VBAマクロで作成する良い方法がなかなか思いつかないでいます。
(シートを分けた直後のアクティブシートの指定やその中でのループの指定しなおしなどが思うようにいってません)
何かアドバイスをいただけませんでしょうか。

【50130】Re:タイプ毎にシート分け
発言  マクロマン  - 07/7/10(火) 17:17 -

引用なし
パスワード
   手作業で行うとしたら、どのような
手順を踏みますか?
V基本的には、BAはそれを自動化するだけです。

【50131】Re:タイプ毎にシート分け
発言  Hirofumi  - 07/7/10(火) 18:12 -

引用なし
パスワード
   ここいら辺を少し変更すれば善いと思いますが?
 
【42833】Re:抽出結果を別シートに保存 Hirofumi - 06/9/23(土) 0:41 - 
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=42833;id=excel

【42947】【42833】Re:抽出結果を別シートに保存 ケンイチ - 06/9/26(火) 20:57 -
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=42947;id=excel

尚、httpは、全角に成っているので半角に直して下さい

【50148】Re:タイプ毎にシート分け
お礼  Noritake  - 07/7/11(水) 16:36 -

引用なし
パスワード
   ありがとうございます。
参考になりました。
下記の要領でいけそうです。

-------------------------------------------

Sub test()
Dim seru As Range
Dim i As Long
Dim presheet As String

i = 2

Application.ScreenUpdating = False


Set seru = Range("B2")

Do Until i = Range("A65536").End(xlUp).Row
   If Range("B" & i).Value <> seru.Value Then
    n = Range("A65536").End(xlUp).Row
    presheet = ActiveSheet.Name
    Range("1:1,B" & i & ":B" & n).EntireRow.Copy
    Sheets.Add
    ActiveSheet.Paste
    Sheets(presheet).Range("B" & i, "B" & n).EntireRow.Delete

    Set seru = Range("B2")
    i = 3
    Else
    i = i + 1
  End If
Loop
Application.ScreenUpdating = True
End Sub

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