[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『シートの並び替え』(MOMOKA☆)
こんにちわ。またまたお願いします。
各シートが個人名になっています。あるシートにある順番(順番が変わる)に個人シートを並び替えたいのですが、できますか?宜しくお願い致します。
シートタブで左ボタンを押すと、白シートが表示されます。そのまま移動したいシートまでドラッグします。 移動先シートタブに▼マークが表示されたらボタンをはなします。これでシート順序を入れ替えられます。 (シニア)
シート上のセルにシート名が順番に記載されているのでしょうか? その点のレイアウトなどが分かりませんが、 シートの移動であれば、シニアさんの方法を自動記録すれば、コードは作成されます。
sheet1 A列 にシート名が入力されているとして、
Sub sample() Dim i As Long With Worksheets("sheet1") For i = 2 To ThisWorkbook.Sheets.Count MsgBox "i=" & i & ":" & .Cells(i, 1).Value & " to " & .Cells(i - 1, 1).Value Sheets(.Cells(i, 1).Value).Move After:=Sheets(.Cells(i - 1, 1).Value) Next i End With End Sub
(INA)
Sub sample() Dim i As Long With Worksheets("○○") For i = 2 To ThisWorkbook.Sheets.Count MsgBox "i=" & i & ":" & .Cells(i+5, 3).Value & " to " & .Cells(i+4, 3).Value Sheets(.Cells(i+5, 3).Value).Move After:=Sheets(.Cells(i+4, 3).Value) Next i End With End Sub
これで動くかな? (INA)
確認用のメッセージボックスの行を削除すればよいのです。 (INA)
Private Sub CommandButton1_Click() Dim i As Long With Worksheets("○○") For i = 2 To ThisWorkbook.Sheets.Count Sheets(.Cells(i + 5, 3).Value).Move After:=Sheets(.Cells(i + 4, 3).Value) Next i End With End Sub
これでいかがでしょうか? (INA)
Private Sub CommandButton1_Click() Dim i As Long With Worksheets("○○") For i = 2 To 85 Sheets(.Cells(i + 5, 3).Value).Move After:=Sheets(.Cells(i + 4, 3).Value) Next i End With End Sub
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.