No.4ベストアンサー
- 回答日時:
No.1・3です。
あ~~~そういうコトですかぁ~!
B11セル以降に数値データが5個以上あったときにマクロが実行されればよいのですね?
その時に最大値・最小値を一つずつ消去すれば良い!というコトだとすると
↓のコードにしてみてください。
Sub Sample3()
Dim lastRow As Long, myArea As Range
Dim c As Range, myMax, myMin
lastRow = Cells(Rows.Count, "B").End(xlUp).Row
If lastRow > 10 Then
Set myArea = Range(Cells(11, "B"), Cells(lastRow, "B"))
If WorksheetFunction.Count(myArea) > 4 Then '範囲内に数値データが5以上の場合//
myMax = WorksheetFunction.Max(myArea)
myMin = WorksheetFunction.Min(myArea)
Set c = myArea.Find(what:=myMax, LookIn:=xlValues, lookat:=xlWhole)
c.ClearContents
Set c = myArea.Find(what:=myMin, LookIn:=xlValues, lookat:=xlWhole)
c.ClearContents
End If
End If
End Sub
※ 今回も最初に出現する「最大値」・「最小値」のみを消去するようにしています。
今度はどうでしょうか?m(_ _)m
再々度の回答ありがとうございます。
その通りです! お陰様でばっちりできました!
教えて頂き、感謝いたします。
ありがとうございました!
No.3
- 回答日時:
No.1です。
>5個以上のデータの時のみ実行するとできますでしょうか?
>併せて、最大値、最小値すべてではなく、同値があっても消去するのは最大値1個、最小値1個とするのはどうすればよいでしょうか。
すなわち最大値・最小値とも5個以上あった場合、その一つだけを消去!
という解釈でよい訳ですね?
最初に出現した「最大値」・「最小値」を消去するようにしてみました。
Sub Sample2()
Dim lastRow As Long, myArea As Range
Dim c As Range, myMax, myMin
lastRow = Cells(Rows.Count, "B").End(xlUp).Row
If lastRow > 10 Then
Set myArea = Range(Cells(11, "B"), Cells(lastRow, "B"))
myMax = WorksheetFunction.Max(myArea)
myMin = WorksheetFunction.Min(myArea)
If WorksheetFunction.CountIf(myArea, myMax) > 4 Then
Set c = myArea.Find(what:=myMax, LookIn:=xlValues, lookat:=xlWhole)
c.ClearContents
End If
On Error Resume Next '←念のため//
If WorksheetFunction.CountIf(myArea, myMin) > 4 Then
Set c = myArea.Find(what:=myMin, LookIn:=xlValues, lookat:=xlWhole)
c.ClearContents
End If
End If
End Sub
※ 最大値・最小値とも4個以下の場合は
何も変化しません。m(_ _)m
再回答ありがとうございます。
言葉たらずになってしまい申し訳ありません。
最大値、最小値が5個以上では無くて、数値が範囲内に5個以上あった時に処理を行い、最大値、最小値は二つ以上あってもそれぞれ一つだけ消去すると言う意味でした。
お手数をおかけして申し訳ありませんが、教えて頂けませんでしょうか。
よろしくお願いいたします。
No.2
- 回答日時:
ほとんど数式ですが、
'空白セルや数値でない場合の対処はしていません
Sub Macro1()
Dim z As Long
z = Range("B" & Rows.Count).End(xlUp).Row
If z <= 15 Then Exit Sub
Columns("C:C").Insert Shift:=xlToRight
Range("C11").FormulaR1C1 = _
"=IF(MAX(R11C2:R" & z & "C2)=RC[-1],""最大値"",IF(MIN(R11C2:R" & z & "C2)=RC[-1],""最小値"",RC[-1]))"
Range("C12:C" & z).FormulaR1C1 = _
"=IF(ISNUMBER(MATCH(""最大値"",R11C3:R[-1]C,0)),RC[-1],IF(MAX(R11C2:R" & z & "C2)=RC[-1],""最大値""," & Chr(10) & _
"IF(ISNUMBER(MATCH(""最小値"",R11C3:R[-1]C,0)),RC[-1],IF(MIN(R11C2:R" & z & "C2)=RC[-1],""最小値"",RC[-1]))))"
With Range("C11:C" & z).Offset(, -1)
.Value = .Offset(, 1).Value
.Replace What:="最大値", Replacement:=""
.Replace What:="最小値", Replacement:=""
End With
Columns("C:C").Delete Shift:=xlToLeft
End Sub
No.1
- 回答日時:
こんにちは!
画像ではB列になっていますので、B列限定ですが、
Sub Sample1()
Dim lastRow As Long, myArea As Range, myMax, myMin
lastRow = Cells(Rows.Count, "B").End(xlUp).Row
If lastRow > 10 Then
Set myArea = Range(Cells(11, "B"), Cells(lastRow, "B"))
myMax = WorksheetFunction.Max(myArea)
myMin = WorksheetFunction.Min(myArea)
With myArea
.Replace what:=myMax, replacement:="", lookat:=xlWhole
.Replace what:=myMin, replacement:="", lookat:=xlWhole
End With
End If
End Sub
※ 最大値・最小値をすべて消去しています。m(_ _)m
回答ありがとうございます。
さすがですね、何でも一発で解消するのは見ていて気持ちが良いです。
それで2点ほど、教えていただきたいのですが、データが1個だけの時も消去すると思いますが、5個以上のデータの時のみ実行するとできますでしょうか?
併せて、最大値、最小値すべてではなく、同値があっても消去するのは最大値1個、最小値1個とするのはどうすればよいでしょうか。
お手数をおかけして申し訳ありませんが、教えていただけませんでしょうか。
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
極大値・極小値 を英語で
-
aを正の定数とし、f(x)=x²+2(a-...
-
なぜ、最小値がないのかが分か...
-
マルチディスプレイ【2台】に...
-
x^3+y^3+z^3の最大最小
-
3σと最大値,最小値
-
①とても初歩的なことなのですが...
-
至急お願いします
-
Excelグラフ作成方法を教えてく...
-
数1 二次関数 関数 y=x^2-2x-1...
-
最小公倍数、最大公約数という名称
-
二次関数の場合分けの上手な考え方
-
max,minの意味
-
y=x^4-2x^2+3の最大値最小値を...
-
80Ck (Cはコンビネーション)が...
-
数学の表記の表し方で最大値と...
-
y=-|x-2|+3のグラフで 問題 ...
-
正と負の数値が混在する中で、...
-
1日おき」と「24時間おき」の違い
-
2次関数の最大と最小の公式の使...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
極大値・極小値 を英語で
-
なぜ、最小値がないのかが分か...
-
①とても初歩的なことなのですが...
-
マルチディスプレイ【2台】に...
-
数学の質問です。0≦x≦a におけ...
-
数学 2時間数に関わる問題につ...
-
aを正の定数とし、f(x)=x²+2(a-...
-
y=-|x-2|+3のグラフで 問題 ...
-
数学 二次関数についてです。 ...
-
数学の表記の表し方で最大値と...
-
3σと最大値,最小値
-
(2)の問題を解くときに、最初...
-
正と負の数値が混在する中で、...
-
範囲の始まりと終わりの値の名称
-
数値データの規格化
-
MOS365 Excel Expert / Excel R...
-
至急!1対1対応の演習 一文...
-
三角形 角度が最大になるときの辺
-
確率の問題
-
(2)aは正の定数とする。0≦x≦aに...
おすすめ情報