
Excel VBAです。
以下のようなことをしようとしています。
1) ユーザーは任意のセルをクリック
2) その行のA列から順に列方向にデータを参照し処理をする。
そこでお聞きしたいのは2点です。
Q1.いまフォーカスがあるセルの位置情報(R8とか)の取得方法。
Q2.そこからA列に移動する方法(R8からR1に移動)
基本的なことだと思いますが、スキルに追いつかないものを急ぎで作らなければなりません。
申し訳ありませんが、アドバイスをいただけますか?
No.3
- 回答日時:
SelectionChangeイベントでtarget変数のアドレスから得られますね。
下記の例はユーザーがあるセルを選択したら、1, 選択したセルのアドレスを取得
2, 同じ行のA列に移動
3, A列から最初に選択したセルまでのループ処理
の例です。必要に応じて使ってみてください。なお、この処理はセルを選択するたびに発生しますから、処理をする場合としない場合を最初に条件分けする必要がありますね。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
'アドレス取得
MsgBox Target.Address
'同じ行のA列に移動
Cells(Range(Target.Address).Row, 1).Select
'A列から最初にカーソルのあったセルまでのループ処理
For i = 1 To Range(Target.Address).Column
a = a + Cells(Range(Target.Address).Row, i).Value
Next i
MsgBox a
Application.EnableEvents = True
End Sub
No.2
- 回答日時:
こんな感じですか?
Sub Test01()
r = Selection.Row
c = Selection.Column
MsgBox "Cell(" & r & "," & c & ")が選択されました。"
For i = 1 To c
Cells(r, i).Select
MsgBox Selection.Address(0, 0)
Next
End Sub
ご回答ありがとうございます。
&r&のやり方を忘れていて、どうしようかなーと思っていたときだったので、助かりました。感謝いたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
現在のセルの位置を返す関数はありますか
Excel(エクセル)
-
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
-
4
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
5
エクセルで、セルに値を入力して確定した時(フォーカスが隣に移動した時)に発生するイベントを教えてください!
Excel(エクセル)
-
6
Excelマクロ セルを行頭に移動
Excel(エクセル)
-
7
セルが移動した時に値の代入を行いたい
その他(コンピューター・テクノロジー)
-
8
VBAでユーザーフォームを再表示させたい。
Excel(エクセル)
-
9
EXCEL VBA で指定した範囲に入力があるかどうか?
Visual Basic(VBA)
-
10
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
11
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
12
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
13
エクセルVBAで、MsgBox やInputBox は、画面の中央以外に表示させたい。
Excel(エクセル)
-
14
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで特定の文字列が入っ...
-
特定の文字がある行以外を削除...
-
【Excel関数】UNIQUE関数で"0"...
-
Excel グラフのプロットからデ...
-
電話番号の入力方式が違うデー...
-
エクセルVBA 最終行を選んで並...
-
EXCEL VBA マクロ 別シートの...
-
結合されたセルをプルダウンの...
-
A1に入力された文字列と同じ文...
-
excel 同じ番号のデーターを横...
-
Excelのフィルター後の一番上の...
-
[EXCEL]ボタン押す→時刻が表に...
-
エクセル 上下で列幅を変えるには
-
エクセルマクロで偶数行(又は...
-
エクセル マクロで数値が変っ...
-
Excel ウインドウ枠の固定をす...
-
エクセルのセルに指定画像(.jpg...
-
エクセルVBA:データ端に画...
-
セルに値が入力されると隣りの...
-
エクセルマクロ オートSUM(合...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定の文字がある行以外を削除...
-
【Excel関数】UNIQUE関数で"0"...
-
エクセルで特定の文字列が入っ...
-
Excelのフィルター後の一番上の...
-
エクセル 上下で列幅を変えるには
-
エクセル マクロ オートフィ...
-
エクセル マクロで数値が変っ...
-
[EXCEL]ボタン押す→時刻が表に...
-
結合されたセルをプルダウンの...
-
Excel グラフのプロットからデ...
-
excelのデータで色つき行の抽出...
-
excel 小さすぎて見えないセル...
-
A1に入力された文字列と同じ文...
-
EXCELで最後の行を固定
-
Excel ウインドウ枠の固定をす...
-
エクセルVBA 最終行を選んで並...
-
VBAで色の付いているセルの行削除
-
連続データが入った行の一番右...
-
エクセル2016で時間を入力して...
-
チェックボックスをクリックし...
おすすめ情報