[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『A列が空欄のときE列にRANDをいれない』(Ty)
いつも楽しく勉強をさせていただいています。 ありがとうございます。
A列が空欄の時、E列に"=RAND()"を入れないようにするには 下記にどのように書き書き加えればいいのでしょうか、お教えください。
Private Sub CommandButton1_Click() Application.ScreenUpdating = False Range("E2").Select ActiveCell.FormulaR1C1 = "=RAND()" Selection.AutoFill Destination:=Range("E2:E20"), Type:=xlFillDefault Range("E2:E20").Select Range("C1").Activate Selection.Sort Key1:=Range("E2"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _ :=xlPinYin, DataOption1:=xlSortNormal Range("E2:E20").Select Selection.ClearContents Range("C1").Select End Sub
RAND関数を入れないだけで、あとの処理はするのでしょうか、それとも A列が空白の時は何もしないのでしょうか。
(川野鮎太郎)
いつもお世話になっています。 >あとの処理はするのでしょうか E列で並び替えをします。 現在の並び替えでは、5行しか入力していない時19行の並び替えをして 19行の間に空欄行ができますが、その空欄行をなくして、上段5行に表示させたいのです。 ご指導ください。(Ty)
これでいけますか。 Private Sub CommandButton1_Click() Application.ScreenUpdating = False For Each c In Range("A2:A20") With c.Offset(0, 4) If c.Value <> "" Then .Formula = "=RAND()" Else .ClearContents End If End With Next c Range("A2:E20").Sort Key1:=Range("E2") Range("E2:E20").ClearContents Application.ScreenUpdating = True End Sub
(川野鮎太郎)
ありがとうございました。 できました。 今からじっくりと見比べます。 マクロって、英語で方程式を解くようなものですね。 (Ty)
川野さんのご回答で十分ですが、 ちょっと追加の質問をさせてください。 上記マクロは、2行目〜20行目のA列〜E列の範囲の並び替えですが、 2行目〜20行目の全列の並び替えはどのような書き方をするのでしょうか? (勉強中Ty)
私も勉強中の身ですが、以下のご近所PGさんのコメントが大変わかり易く参考になります。 [[20050115131721]]『条件式書式を6つやりたいんですが・・・』(sirouto)
今回の件をご近所さん的に言えば、 「さっきまではA2からE20までの範囲で並び替えしたぞ。」 「でも、今回は2行目から20行まで全部を並び替えたいんだよなぁ」 「どこを変えれば良いんだろぅ・・」 「とりあえずマクロの記録でやってみるか」 「まず2行目から20行目までを選択して、データ−並び替え−E列で並び替えを記録して マクロの記録終了」
VBEを開いてみるとこんなのが出てるぞ? Sub Macro1() ' Macro1 Macro ' マクロ記録日 : 2005/1/17 ユーザー名 : Ayu Rows("2:20").Select Selection.Sort Key1:=Range("E2"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _ :=xlPinYin End Sub
さっきの鮎のコードでSortが並び替えだからここを変えれば良いんだな。 Range("A2:E20").Sort Key1:=Range("E2")
てことは、範囲がRange("A2:E20")だったものをRows("2:20")に変えてみるか。 Rows("2:20").Sort Key1:=Range("E2") こんな感じになったけど上手くいくかなぁ・・・。 ゙(*・・)σ【マクロの実行】ぽちっとな♪
ぉお!!(゚ロ゚屮)屮 .。゚+.(゚ー゚)。+.゚ イイ!!上手くいったぞ〜♪
ってな感じでしょうか^^
(川野鮎太郎)
以前どこかで、川野さんがおっしゃってみえた「先ずマクロを記録して」という 言葉がこのことですね。 勉強の方法がようやくわかりました。ありがとうございました。(Ty)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.