- ベストアンサー
エクセルで自セルの表示を変更できますか?
こんにちは、さっそく質問させていただきます。 エクセルで 「A1にhogeと入力すると、A1のhogeという文字列がfooという文字列に変わる」 というに シートもセルの位置も変えないで、入力したセル自身の表示を変えたいのです。。 しかし、セルには式を書かないといけないでしょうし 式を書いたところに入力したら上書きされて式がなくなってしまうと思います。 ちょっと特殊な使い方ですがこんなことはできるのでしょうか? よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは! VBAなら可能です。 A列すべてを対象とします。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに ↓のコードをコピー&ペースト → Excel画面に戻りA列にデータを入力してみてください。 Private Sub Worksheet_Change(ByVal Target As Range) 'この行から If Intersect(Target, Range("A:A")) Is Nothing Or Target.Count > 1 Then Exit Sub With Target If .Value = "hoge" Then Application.EnableEvents = False .Value = "foo" Application.EnableEvents = True End If End With End Sub 'この行まで こんな感じではどうでしょうか?m(_ _)m
その他の回答 (2)
- chonami
- ベストアンサー率43% (448/1036)
hogeが数値だったらできますけどね・・・文字列→文字列だと一般機能ではできないです。
お礼
数値の場合はできるのですか! そのやり方も気になるところですが、 とりあえず回答者1、2さんのものでできそうです。 ありがとうございました。
- mt2008
- ベストアンサー率52% (885/1701)
マクロを使う必要があります。 以下の様なコードを対象シートのモジュールに記載します。 Private Sub Worksheet_Change(ByVal Target As Range) If (Target.Address = "$A$1") And (Target.Value = "hoge") Then Range("A1") = "foo" End If End Sub また、ブックもマクロ有のブックにしなくてはいけませんので、拡張子がxlsxではなく、xlsmになります(Excel2003以前なら、どちらもxls)。
お礼
マクロというのは回答者1さんの言っているVBAのことでしょうか。 そこらへんの用語関係がフワッとしているので その部分から確認しつつ、参考コードを勉強してこうと思います。 ありがとうございました。
お礼
ふむふむ、VBAという手がありましたか! VBAを触ったことがないので 書いていただいたソースを参考に勉強から始めたいと思います。 ありがとうございました。