- 締切済み
エクセル cell
エクセルのvbaについて 以下ようなコードを書く場合がありますが、 Range("D5").Select Cells(5, 4).Select 今、選択している列の値(上の例だと4)を、知りたい場合どのようにすれば良いのでしょうか? いちいち、R1C1形式に変えないとダメなのでしょうか? A~Zぐらいであれば、数えることはできますが、それ以降は、参照表など見る手間もあります。 Y5は、cellだと〇〇という感じで、すぐに知る方法はないでしょうか? お手数ですが、よろしくお願いします。 エクセル2007以上
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- eden3616
- ベストアンサー率65% (267/405)
列記号でCellsを指定する方法をNo1様が、 コードの処理で行列番号を取得する方法はNo2様がご回答されているので.... コードの最中でFor ~ Nextで行列番号を数値で処理したい場合など コーディング中に行列番号を知りたい場合の方法を。 例えば、 (1)セルの選択範囲で確認 E10選択→Shift押したままHome→PageUpキー入力で 「10R×5C」(10行×5列)と数式バーの左に表示されます。 (Shiftを押している間のみ表示されます) (2)セルに数式を入れて確認 「=COLUMN()」と数式を入れてみる。(=ROW()で行番号) (3)コードでR1C1形式を切替 以下のコードをアドインに登録するか、自動実行のブックへ記述し クイックアクセスツールバーに登録しておくと便利になります。 Sub 参照形式切替() If Application.ReferenceStyle = 1 Then Application.ReferenceStyle = xlR1C1 Else Application.ReferenceStyle = xlA1 End If End Sub
- mar00
- ベストアンサー率36% (158/430)
選択しているセルの行・列の値を知りたいということでしょうか。 違っていたら無視して下さい。 Sub Macro1() myRow = ActiveCell.Row myCol = ActiveCell.Column MsgBox "Cells(" & myRow & "," & myCol & ")" End Sub のようにすればいいと思います。
- nishi6
- ベストアンサー率67% (869/1280)
Range("D5").Select Cells(5, 4).Select ↓ Cells(5, ”D”).Select なので、「4」を知らなくても指定できます。 Range("Y5") = Cells(5, "Y") Range("AB5") = Cells(5, "AB") 単純に行・列をひっくり返します。
お礼
早速のご回答ありがとうございます。 的確なご回答助かりました。 素晴らしい