こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

再度 マクロの「繰り返しコード」の質問です。

宜しくお願いします。まったくの初心者です。
今、A1~A5には数値。
隣のB1~B5には=RUND()の関数。
("A1:B5")をセレクトして並び替え、
(ソート最優先キーはB列、降順)
この乱数を並び替えして、E1にコピー、そしてG列に1列挿入する。
これを10回繰り返したい。
というコードが、なかなか作れません。
何方か教えてください。

投稿日時 - 2018-11-29 18:54:02

QNo.9562929

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

以下、質問に記載されたマクロの内容です。
("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
以上

投稿日時 - 2018-11-29 21:49:33

ANo.1

先ずは手作業(マウス操作)でやりたいことをやってみて、結果を確認してみては如何でしょうか?
操作(マクロ処理)内容とループ文は別の要素です。手作業を繰り返して得られる内容とマクロで得られる内容は同じです。

投稿日時 - 2018-11-29 20:02:50

補足

200列ほどいりますので、200回ポチはなかなか
今はボタンを2個作っていまして
1つのほうで、ソートをもう一つで移動させてと
コードは超ながいですよ

投稿日時 - 2018-11-29 20:25:25

あなたにオススメの質問