- 締切済み
再度 マクロの「繰り返しコード」の質問です。
宜しくお願いします。まったくの初心者です。 今、A1~A5には数値。 隣のB1~B5には=RUND()の関数。 ("A1:B5")をセレクトして並び替え、 (ソート最優先キーはB列、降順) この乱数を並び替えして、E1にコピー、そしてG列に1列挿入する。 これを10回繰り返したい。 というコードが、なかなか作れません。 何方か教えてください。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- chachaboxx
- ベストアンサー率23% (412/1777)
以下、質問に記載されたマクロの内容です。 ("A1:B5")をセレクトするところから挿入後までの10回ループです。 数値がループごとに変更される以外は、1回でも1万回でも数値が入るセル範囲は同じです。 ※A1~B5とE1~F5に数値が入りますが、G列挿入の意味が不明。 Sub Macro1() ' Macro1 Macro For i = 1 To 10 '10回繰り返し Range("A1:B5").Select '("A1:B5")をセレクト ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("B1:B5"), _ SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Sheet1").Sort .SetRange Range("A1:B5") .Header = xlGuess .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With '並び替え:B列、降順 Selection.Copy 'コピー Range("E1").Select ActiveSheet.Paste 'E1に貼付け Columns("G:G").Select Application.CutCopyMode = False Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove 'G列に1列挿入 Next i End Sub 以上
- chachaboxx
- ベストアンサー率23% (412/1777)
先ずは手作業(マウス操作)でやりたいことをやってみて、結果を確認してみては如何でしょうか? 操作(マクロ処理)内容とループ文は別の要素です。手作業を繰り返して得られる内容とマクロで得られる内容は同じです。
補足
200列ほどいりますので、200回ポチはなかなか 今はボタンを2個作っていまして 1つのほうで、ソートをもう一つで移動させてと コードは超ながいですよ