
Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox Target.Column
End sub
このコードを書いたシートでセル"B1"の値を変更すると、
メッセージボックスで 2 と出ますが、
B と出したい(列番号ではなく、列の英字で)場合はどのように書けばよいでしょうか。
Left関数やMid関数を使ってTarget.Addressから英字部分を抜き出す、というコードも組んでみましたが、
そんなことしなくても出そうな気がするので、
そのような書き方がありましたら教えてください。
No.2ベストアンサー
- 回答日時:
すみません
質問内容にもありました英字部分を抜き出すコードのほうが遥かに簡単でした
できれば流してください
回答ありがとうございます。
申し訳ありません、「教えて!goo」内で似たような質問を見つけました。
そちらでもコードを組んで取り出す方法が挙げられていたので、
質問したような都合の良い関数は無いみたいですね。
例えばですけど、Target.retuと書けば出るよ、とかそんな楽な記述があればと思って質問しました(苦笑)。
普通は英字でなくて番号で出した方が扱いやすいんでしょうか。
No.4
- 回答日時:
実際個人的にはあればと思って、勉強してますが、出くわさないですね。
(1)ユーザー関数
例えば(3)のロジックを使い
Function Clmna(n)
Clmna=Chr(64 + n)
End Function
(2)Left関数やMid関数を使ってTarget.Address
(3)
Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox Chr(64 + Target.Column)
End Sub
(4)
Private Sub Worksheet_Change(ByVal Target As Range)
'MsgBox Chr(64 + Target.Column)
S = Split("A,B,C,D,E,F,G,H,I,J", ",") '10列まで
MsgBox S(Target.Column - 1)
End Sub
ーー
どこかで別の気の効いたやり方を見た気がするが思い出せない。
回答ありがとうございます。
何個もありがとうございます。
別の所でも使えそうなんでコピっておきます。
皆さんに答えてもらっておいて申し訳ないですけど、
英字だけ抜く意味が無くなってしまったので結局自分で作ったMidとかInStrとか使ったコードも使わず仕舞いでした。
No.3
- 回答日時:
こんばんは。
MsgBox Replace$(Target.Cells(1).Address(0, 0), Target.Cells(1).Row, "")
もともと、このアルファベットというのは、可読性だけの問題だと思います。Lotusというよりも、VisiCalc の時代に出来たものだと思います。実際、VBAで、そのアルファベットを取り出しても使いようがありませんよね。Microsoft 自身も、Excelになってから採用した表示形式です。
回答ありがとうございます。
>実際、VBAで、そのアルファベットを取り出しても使いようがありませんよね。
いえ、そんなことはありません、使いまくりです、
と書くつもりだったんですが、
確かに英字だけ取り出す意味はありませんでした。
今まではRange("A1")などと指定することが多かったのでどうしても欲しかったのですが、
Target.addressで出る「$」付きのアドレス($A$1)で十分使えました。
(結局まだ英字に執着してますけど)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excelにて、シート1の行を削除するとシート2のシート1と同じ番号の行も削除したい 3 2022/05/08 04:24
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Visual Basic(VBA) Changeイベントで複数セルへの貼り付けおよび値削除時に1個目のセルのみエラーになる 3 2022/12/21 09:07
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/05/26 17:19
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Visual Basic(VBA) Sheet1のA列にコードB列にメアド、Sheet2のB列にコード一覧とD列にメアド一覧があり、Sh 3 2022/10/19 11:57
- Visual Basic(VBA) 【再々投稿】VBAのプログラムで動作しなくて困っています 8 2022/10/14 09:06
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/06/10 11:06
- Excel(エクセル) エクセルのイベントプロシージャーでF列の最終行のセルの入力をトリガーにしたいのですが 1 2022/10/14 09:36
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
excelでsin二乗のやり方を教え...
-
検便についてです。 便は取れた...
-
値が入っているときだけ計算結...
-
2つの数値のうち、数値が小さい...
-
Excel 数値の前の「 ' 」を一括...
-
【Excelで「正弦波」のグラフを...
-
VLOOKUP関数を使用時、検索する...
-
尿検査前日に自慰行為した時の...
-
腕を見たら黄色くなってる部分...
-
WORDで複数語句を検索するには
-
病院側から早く来てくださいと...
-
リンク先のファイルを開かなく...
-
彼女のことが好きすぎて彼女の...
-
EXCELで条件付き書式で空白セル...
-
精液の落とし方を教えてください
-
MIN関数で空白セルを無視したい...
-
風俗店へ行く前のご飯
-
小数点以下を繰り上げたものを...
-
エクセルで数式の答えを数値と...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
尿検査前日に自慰行為した時の...
-
至急!尿検査前日にオナニーし...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
値が入っているときだけ計算結...
-
リンク先のファイルを開かなく...
-
EXCELで条件付き書式で空白セル...
-
2つの数値のうち、数値が小さい...
-
VLOOKUP関数を使用時、検索する...
-
尿検査の前日は自慰控えたほう...
-
MIN関数で空白セルを無視したい...
-
小数点以下を繰り上げたものを...
-
風俗店へ行く前のご飯
-
エクセルで空白セルを含む列の...
-
Excel 数値の前の「 ' 」を一括...
-
【Excelで「正弦波」のグラフを...
-
納豆食べた後の尿の納豆臭は何故?
-
EXCELで式からグラフを描くには?
-
ある範囲のセルから任意の値を...
おすすめ情報