人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルのVBA(マクロ)に関する質問です。
下記のように同順位があって、1位から10位までの行数が、11行になっています。このように同順位がある場合に、10位の最後行の位置(もしくは、10位までの行数)を取得するのにはどうするのが簡単でしょうか? 10位以降も続くの最後の行というわけにはいきません。
1
2
3
4
5
6
7
8
9
10
10
12
13


●質問者: isogaya
●カテゴリ:コンピュータ 科学・統計資料
✍キーワード:VBA エクセル マクロ
○ 状態 :終了
└ 回答数 : 3/4件

▽最新の回答へ

1 ● kopj
●27ポイント

Sub Macro1()

'

' Macro1 Macro

'

'A列に1行目から順に順位が入っているものとます。

b = Range("A1")

c = 0

For a = 2 To 65535

If Range("A" & a) = "" Then Exit For

If Range("A" & a) = b Then

If c = 0 Then c = a - 2

If Range("A" & a + 1) <> b Then

MsgBox b & "位までの行数は " & c & "で、" & b & "位の最後の行は " & a & "行です"

End

End If

End If

b = Range("A" & a)

Next a

End Sub

http://q.hatena.ne.jp/answer

◎質問者からの返答

早速ありがとうございます。でも、結構めんどうですね。


2 ● たけじん
●27ポイント

数字は、昇順に並んでいるとすれば、

B1に

=IF(A1<>A2,A1,"")

と書いて、下までオートフィル

各順位の最終列だけ、順位の数が表示されます。

http://q.hatena.ne.jp

◎質問者からの返答

その数を取得して使いたいのです。人間の目で見えるならこれでいいのですけど、


3 ● たけじん
●26ポイント

http://q.hatena.ne.jp

では、C1→1、C2→2で、あとは下までオートフィル(つまり1から順の番号を表示)

D1に、

=VLOOKUP(C1,B:C,2,0)(これも、下までオートフィル)

としましょう。

C列が求める数字、D列がその最終行になります。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ