アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセル97のvbaでいろいろ試したいのですが、標記の事について
分かりません。出来ないことなのか、簡単なことなのかも分かりま
せんのでよろしくお願いします。下記を作成しても左上の1つしか
取り出せません。

Sub サンプルマクロ2()
For Each a In ActiveCell
s = a.Value
MsgBox (s)
 Next a
End Sub

A 回答 (2件)

こんにちは。



ActiveCell を Selection にしましょう。
    • good
    • 0
この回答へのお礼

試したい事ができました。
素早いご回答に感謝致します。

お礼日時:2002/10/14 21:45

SelectionCellってサポートしてたかな?



まず、ActiveCellというのはひとつしかありません。
たとえ範囲でセルを選んでも、現在入力できるセル一つだけです。
したがって、そのあたりがActiveとSelectの違いになります。

こんなマクロはどうでしょう。

Sub サンプルマクロ2()
Dim r1, r2, c1, c2 As Integer
r1 = ActiveCell.Row
c1 = ActiveCell.Column
r2 = r1 + Selection.Rows.Count - 1
c2 = c1 + Selection.Columns.Count - 1

For m = c1 To c2
For n = r1 To r2
s = Cells(n, m)
MsgBox (s)
Next n
Next m
End Sub

セル範囲は自分で(手動で)選ぶものと仮定して、
選んだ直後は一番左上のセルがアクティブセルです。
したがって最初の値はCells(r1,c1)となります。
次にSelection.Rows.Count は選んだセルの行数ですから、
r2,c2はそれぞれ選んだ範囲の右下のセル番地です。

ちょっと解りづらいかもしれませんが、お試し下さい。
    • good
    • 0
この回答へのお礼

’アクティブなセル’とは’入力できる1つのセル’という事を知りませんでした。勉強になりました。素早いご回答に感謝いたします。

お礼日時:2002/10/14 21:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!