エクセルので複数のセルを選択し、その後マクロを実行し、全てのセル番地を取得したいのですがそのような事は可能なのでしょうか??分かる方がいらっしゃいましたらお願いします。

A 回答 (3件)

複数のセルを選択し、たとえば下記を実行すればセル番地が取得できます。


今はイミディエイトウインドウに表示しています。

Sub RangeAddress()
Dim rg As Range 'セル
For Each rg In Selection
Debug.Print rg.Address 'イミディエイトウインドウに表示
Next
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございました。
書き込みの通りやり、目的のものを作る事が出来ました。
また何かありましたら、お願いします。

お礼日時:2001/06/27 10:10

nishi6さんがコードを書いてくださいましたね。


セルのアドレスを参照する部分を補足しますので参考にしてください。


Sub Macro1()

Dim rng対象範囲 As Range
Dim rng対象セル As Range

Set rng対象範囲 = Sheet1.Range("B2:E9")

'対象範囲を選択する
rng対象範囲.Select

For Each rng対象セル In rng対象範囲

'絶対アドレスで表示
MsgBox rng対象セル.Cells.Address
'列と行で表示
MsgBox rng対象セル.Cells.Column & ":" & rng対象セル.Cells.Row

Next rng対象セル

End Sub
    • good
    • 1
この回答へのお礼

ありがとうございました。
MsgBox rng対象セル.Cells.Address のコマンドはとてもためになりました。
今後とも宜しくお願いします。

お礼日時:2001/06/27 10:12

結論は「可能」です。



書き方は再度(夜)投稿します。
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QExcel VBA 選択されている複数の空白セルのセル番地を、他のブックのセルに表示させる方法

Excel VBAについての質問です。

マクロで、選択している複数の空白セルのセル番地を、他のブックのセルに記入し、空白セルの一覧を作りたいのです。
方法がございましたら、ご教授お願いします。

現在はデータの中から空白セルをすべて選択し、他のブックのシートのセルにセル番地を表示させることはできているのですが、$E$7のような表示になり、空白セルはたくさんあるのに1つしか表示されません。どうすればいいのでしょうか。

Aベストアンサー

図のように選択箇所が重なっていると重複してしまいますが、あとで削除すれば良いのでとりあえず。

Sub Macro2()

Dim 範囲 As Range
Dim 行 As Long
Dim 個目 As Long

Sheets("Sheet2").Columns("A:A").ClearContents
For Each 範囲 In Selection.Areas
For 個目 = 1 To 範囲.Count
If 範囲(個目).Value = "" Then
行 = 行 + 1
Sheets("Sheet2").Cells(行, 1).Value = 範囲(個目).Address(RowAbsolute:=False, ColumnAbsolute:=False)
End If
Next
Next

End Sub

Qエクセルで複数のセル選択をした後、選択したセルの1つを選択解除したい

m(__)m早速ですが、質問をさせて戴きます。

セルA1を選択し、次にコントロールキーを押しながら、A3セル、同じくA5セルと合計3つのセルを選択しているとします。

この状態で、A3セルだけの選択を解除し、結果としてA1セルとA5セルのみが選択された状態にするにはどうすればいいでしょうか?

Aベストアンサー

A1、A3、A5を選択した状態から、

(1)Tab、またはShift+TabでA3を選択状態にします。
(2)Shift+↑を2回行います。(A1:A3、A5が選択状態に変わる。A3がアクティブ)
(3)Shift+Tabを2回行います。(A1:A3、A5が選択状態のまま。A1がアクティブに変わる)
(4)Shift+↑を2回行います。(A1、A5が選択状態に変わる。A1がアクティブ)

なお、『↑』は上方向へのカーソル移動キーです。


やっていることは、
  『選択を取り消したいセルまたはセル範囲』と
  『その1つ前のセルまたはセル範囲』をいっしょにして
  『選択を取り消したいセルまたはセル範囲』部分を縮小する
と表現すればいいでしょうか。

Q○番地セルと△番地セルを参照し、一致していたらIFで結果を出したい

○番地セルと△番地セルを参照し、一致していたらIFで結果を出したい

エクセル2003です。

A列に名前、B列に学部、C列に点数があります。

7行目より、各部の合格点があります。

●Aさんが何学部かを参照させ、一致したら、更に平均点に届いている場合は○、そうでなければ×としたいです。

IFとANDの組み合わせをしようと、式を書いたのですが、エラーが出ます。

HPでは、数値でのネストが主で、文字の場合はどうするかを検索しても出ず困っています。

Aベストアンサー

No.1です!
投稿後もう一度質問文を読み返してみたのですが、
前回のように難しく考えなくても良いのですかね?

前回の数式はAさんの場合は「医学部」ですので、
医学部の人の平均点を割り出し、Aさんの点数がそれ以上でなおかつ7行目の表の医学部の点数以上であれば
「○」をそうでなければ「×」を表示するようにしていました。

もっと単純に7行目以下の表の学部の点数以上の場合は「○」そうでない場合は「×」とすれば良かったのですかね?

もしそうであれば前回の数式は無視して
D2セルは
=IF(C2>=VLOOKUP(B2,$A$8:$B$9,2,0),"○","×")
としてオートフィルで下へコピーしてみてください。

今回も外していたらごめんなさい。m(__)m

Qエクセルのマクロでセルに入力されているセル番地に貼り付け?

エクセルのマクロで質問です。

下記のように入力されています

  A    B    C    D
1 あ   田中  2000  N3  
2 い   中嶋  1500  Q3
3 う   吉田  1600  U3
4 え   石川  1800  N11
5 お   横山  1500  Q11
6 か   鈴木  1600  U11
7 き   中村  2500  N19
8 く   山田  1200  Q19
9 け   橋本  1400  U19
・・・・(500行くらいあります)

この表のA1:C1をN3に行列を入換えて貼り付け、
A2:C2をQ3に行列を入換えて貼り付け・・・
のように、ABC列の内容を、D列に入力されているセル番地に貼り付けたいのです。
INDIRECT関数など使ってみましたが、どうにも出来そうにありません。
これをなんとかマクロで出来ないものでしょうか。
困ってます。お願いします。

Aベストアンサー

例えばこんなマクロでしょうか?

Sub Macro2()
Dim idx As Long
 On Error Resume Next
 For idx = 1 To Range("A65536").End(xlUp).Row
  Cells(idx, "A").Resize(1, 3).Copy
  Range(Cells(idx, "D")).PasteSpecial , Transpose:=True
 Next idx
 Application.CutCopyMode = False
End Sub

Qエクセルで、ボタンを使わずセルを選択することで任意のマクロを実行させる事は可能ですか?

お世話になります。
件名と同じくエクセルで、ボタンを使わずセルを選択する事により任意のマクロを実行させる事は可能かをお伺いしたく存じます。

【詳細】
現在、特定のセルを基点に画像を決められたサイズで挿入する作業を行っております。
画像を挿入する基点とするセルは複数あり、その度に図形の挿入のコマンドを選択しております。
ただ、非常に短銃作業ではあるのですが、量があまりにも多い為、
セルを選択した段階で挿入する画像ファイルを呼び出す画面を表示するように出来ないだろうかと思い質問致しました。

以上、お時間のある時で構いませんのでご教授下されば幸いです。

Aベストアンサー

セルを選択したときにマクロを起動するならシートモジュールにそのマクロを書いておきます。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$1" Then 'この例だと$A$1を選択したときだけ
MsgBox "Macro was done" 'この文を画像ファイルを呼び出すマクロに置き換える
End If
End Sub


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報