advanced help
per page, with , order by , clip by
Results of 0 - 1 of about 0 (0.000 sec.)
[[20020508193711]]
@digest: de7e19ea3c87cbde96348efa97c39dc6
@id: 13
@mdate: 2003-04-29T06:41:44Z
@size: 5281
@type: text/plain
#keywords: 122490 (29993), 100030 (27823), 100020 (27066), 100010 (23835), 100040 (21640), miya (9247), 144990 (7882), 100000 (6651), 歯抜 (5234), 索") (4450), activecell (3241), ramrun (2507), 字検 (2387), macro (1659), 検索 (1604), (ra (1541), vbyesno (1334), 分数 (1261), 頭文 (1217), 空い (1179), val (1147), 連続 (886), while (801), 抜け (733), ーマ (694), 数値 (683), マッ (667), kazu (656), 実行 (634), 索範 (628), 登録 (628), 〜12 (625)
『100〜200の間で空いている番号を探したい場合?』(miya)
---- マクロというかVBAでプログラムを組めばできますが、数も少ないみたいなので、 そのデータをどこか空いている列にコピーして並べて、昇順に並べ替えすれば どうですか? それとも100〜200までで同じ数字をいくつもダブって使ってるのかな? (ramrun) ---- 私は多分数値がちゃんと並んでいて、他の列で使っていない数字を探したいのだと 思いますが、起案者の回答待ちですね。 (kazu) ---- (miya)ですが、(kazu)さんの言う通りです。 実際は、100000〜993100で検索の間隔を10で空いている番号を探したい時は どうすれば良いのか解りません。(思いっきり初心者ですいません) ---- もう少し聞いていいですか? 100000 100010 100030 100040 .. 993090 993100 100001 100011 100031 100041 993091 993101 100002 100012 100032 100042 993092 993102 . . 100008 100018 100038 100048 993098 993108 100009 100019 100039 100049 993099 993109 こんな感じに数値が並んでいるってことかな。 例で書いたものは100020を抜いてあるから、それを検索結果としてどこかに表示したい ってことですか? miyaさんが考えるフォーマット(数値の配置)がいまいちつかめないので(汗)。 (ramrun) ---- miyaさんの思っているイメージは 100000 bbb 100 100010 ccc 200 100020 100030 aaa 50 こうなっていて、空いている10020を見つけたいのでは? (kazu) ---- あ〜 なるほど。 数値そのものじゃなくて、それを行番号とした値があるわけですね。 もしそうだとすると、空白を検索すればいいんじゃないかな? A B C 1 100000 bbb 100 2 100010 ccc 200 3 100020 4 100030 aaa 50 B列を選んで、メニューから編集>検索。 検索する文字列には何も入力せず、次を検索ボタンをどんどん押していったら... そういうのダメですか? 実は今月の日経パソコンにちょうど、表の空白をチェックして、備考欄に『未記入あり』って 表示するマクロが載ってるんだけど... フォーマットがハッキリしないと書けない(汗)。 (ramrun) ---- (miya) です。無知でどうもすいません。 A B C 1 100000 bbb 100 2 100010 ccc 200 3 100020 4 100030 aaa 50 5 100050 ddd 300 で、A列の100040番を空き番として検索したい場合はどのようにしてら良いのですか? で宜しいですか。 ---- ↓のマクロを使ってみてください。 マクロの登録は[[20020507201512]]を参考に。 マクロを登録した後に、ツール>マクロ>マクロ でmacroが選択された状態で オプションボタンより、ショートカットキーを割り付けることが出来ます。 ctrl+aと設定すれば、キーボードよりctrl+aでmacroを実行できるようになります。 使い方は↑の例でいうと、セルA1を選択してmacroを実行するだけです。 簡単に組んだので検索は上から1つずつ、数値が連続して歯抜けていたり同じ数値が 登録されていたりというときは正しい結果はでません。 (ramrun) Sub macro() Dim x As Variant Dim y As Integer x = Val(ActiveCell.Value) y = 10 Do While (1) ActiveCell.Offset(1, 0).Select If ActiveCell.Value = Empty Then Exit Sub If Val(ActiveCell.Value) <> x + y Then If vbNo = MsgBox(x + y & "がありません。次を検索しますか?", _ vbYesNo, "検索") Then Exit Sub End If x = Val(ActiveCell.Value) Loop End Sub ---- こんな手ではだめでしょうか? A B C D 1 100000 bbb 100 2 100010 ccc 200 3 100020 4 100030 aaa 50 100040 5 100050 ddd 300 セルD1 に『=IF(A1+10=A2,"",A1+10)』でD2から下は単にD1をドラッグコピーします。 すると抜けているところに『100040』が表示されます。 (kazu) ---- (miya)です。(ramrun)さん(kazu)さんありがとうございます。大変勉強になりました。 とりあえず、(kazu)の方法を用いる事にしました。エクセルは奥が深いですね!ところで次 に上げるような事も出来るのでしょうか? 頭文字 検索範囲 あ 100000〜122490 い 122490〜144990 う 144990〜159990 : : : : : : わ 949990〜950000 『あ』が100000〜122490でと言う様に番号が決っていたら、上に書いてある(kazu)さんや (ramrun)の方法では当然違いますよね? ---- 違うと言えば違います。 でも全く違うわけではなくて、どちらも少し変えれば使えます。 縦が横になっただけですから... kazuさんが紹介しているやり方では、検索用の行が必要になるけど、関数の使い方自体は 簡単なものなので参考書等で調べれば、すぐ改造できると思いますよ。 プログラムは Do while〜 のループを追加してますけど、連続で数値が歯抜けていた場合に 検出できるようにしました。 検索の実行は1行ずつです。 ↑の例だと100000を選択して実行、122490を選択して実行、、、というように、 各先頭行のセルを選択してマクロを実行すればOKです。 あと、あ行だと122300〜122490のように最後の方が連続して歯抜けた場合は検索しません。 そういうのは検索するまでもないかなと思ったので... (ramrun) Sub macro() Dim x As Variant Dim y As Integer x = Val(ActiveCell.Value) y = 10 Do While (1) ActiveCell.Offset(0, 1).Select If Val(ActiveCell.Value) = Empty Then Exit Sub Do While (1) If Val(ActiveCell.Value) <> x + y Then If vbNo = MsgBox(x + y & "がありません。次を検索しますか?", _ vbYesNo, "検索") Then Exit Sub x = x + y Else: Exit Do End If Loop x = Val(ActiveCell.Value) Loop End Sub ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/200205/20020508193711.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 87334 documents and 561520 words.

訪問者:カウンタValid HTML 4.01 Transitional