どんなマクロを組むと良いのでしょうか?
VBA
1Sub test()
2 Dim i As Long
3 Dim j As Long
4 Dim m As Long
5
6 For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
7 For j = 1 To Cells(Columns.Count, 1).End(xlToLeft).Column
8 If m < Rng.Cells(i, j).Value Then
9 m = Rng.Cells(i, j).Value
10 End If
11 Next
12 Cells(i, j + 1).Value = m
13 m = 0
14 Next
15End Sub
16
17Sub test1()
18 Dim r As Range
19
20 For Each r In ActiveSheet.UsedRange.Rows
21 r(1, r.Columns.Count + 1).Value = WorksheetFunction.Max(r)
22 Next
23End Sub
24
25Sub test2()
26 With ActiveSheet.UsedRange
27 With .Columns(.Columns.Count + 1)
28 .Formula = "=Max(" & .Rows(1).Address(False, False) & ")"
29 .Value = .Value
30 End With
31 End With
32End Sub
33
test-ここの質問者さんがよく書こうとしているコード風に書いてみました。
(変数の使い方がこれぞプログラミングって感じですね)
test1-エクセルVBAなのでワークシートで使うMax関数をVBAで使って探してます
test2-エクセルなので、シート上に数式を入れてエクセル君に計算させたあと、数式を消すため値で上書きしてます。
処理速度でいったら下のコードほど速いかと思います。
動作確認してないので、上手く動かなかったらごめんなさいです。
参考になれば。。。
あぁ、ソートしてもいいけど当然元の表が崩れますよね?
別のシートに転記してから作業をして、
結果だけを持ってくるようにする工夫が必要になるかと思います。
やりかたは、Webで検索し、
その操作を「マクロの記録」機能でVBAに翻訳したら、
どんなコードになるかわかると思います。
わからない用語はとりあえずWebで検索してみて、
それでも解らなかったらその旨を告げて聞きましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/03 11:50
2019/04/03 21:43
2019/04/05 10:39
2019/04/08 01:44