いつもお世話になります。
OSは、Win10 エクセルは。2016 です。
指定の文字を置き換えるだけなら下記の構文でいいのですが、
何かの不都合で元に戻したい必要性があります。
この場合どのように下記の構文を変更すればいいかご指導いただけませんか。
宜しくお願いいたします。
参考
Sub 置換()
Range("J13:AN32").Select
With Selection
.Replace What:="n", Replacement:="日", LookAt:=xlWhole
.Replace What:="h", Replacement:="早"
.Replace What:="o", Replacement:="遅"
.Replace What:="y", Replacement:="夜"
.Replace What:="k", Replacement:="公"
.Replace What:="u", Replacement:="有"
.Replace What:="p", Replacement:="パ"
.Replace What:="q", Replacement:="休"
.Replace What:="s", Replacement:="宿"
.Replace What:="t", Replacement:="退"
.Replace What:="a", Replacement:=""
Range("A3").Select
End With
End Sub
No.1ベストアンサー
- 回答日時:
こんにちは
変換がxlWholeなので、ある程度は可逆と言えそうですが、最後の「a→""」だけはなんとも言えないですね。
これを無視しても良ければ、使用なさっている条件によっては(例えば)「n→日」を「日→n」ような逆変換をしてあげれば可能になるかも知れません。
とは言え、上記の処理は完全ではありません。
元データが「n」、「日」の場合、変換すると両方とも「日」の結果になりますが、上記の逆変換では「日」は必ず「n」になってしまうからです。
そのような場合でも、確実に元に戻したいのであれば、変更前のJ13:AN32のセル値をそのままどこかに記録しておくのが一番です。
記録用のシート(非表示など)を作成しておいて、(例えば)30行ずつ順に記録して行っても良いですし、同じシートの最終列近辺を(非表示にして)利用するのでも良いかも知れません。
元に戻す際には、『記録の最終版をコピペして、最後の記録範囲を削除する』といった処理を行えば宜しいかと。
早速のご指導を有難うございます。
補足欄にも記入しましたが、
ご指摘の、
最後の「a→""」 作成時の苦労を思いだしました。
何故かと申し上げますと あるセルの値を修正したい時、 a を入力してコマンドボタンを押せば
空白になり再度新しい値を入れれば修正することができます。
私なりのやり方かもです。
ご迷惑かけました。
このことにきずかずかなりの時間を費やしました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel vba で1と10を正確に判断させる方法を教えてください。 TからU列に1と入力があれば 3 2022/12/26 16:54
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
- Visual Basic(VBA) VBAでfunctionを利用しようとしたときに「引数は省略できません」というエラーが出ます 1 2022/10/15 16:30
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) 指定文字を太字にするVBAを別シートのセルを指定する構文(改良について) 6 2022/08/27 22:11
- Access(アクセス) Accessのテキストボックスの入力文字制限 1 2023/01/18 20:43
- Visual Basic(VBA) オブジェクトが見つかりません 1 2023/06/24 19:43
- 英語 The paranasal sinuses seem to develop after regres 2 2022/09/21 20:39
- Visual Basic(VBA) Excel VBA メール作成について 本文の中にExcel でコピーした図を上下に2つ 貼り付けを 2 2023/06/14 01:48
- Excel(エクセル) マクロで特定日より1日前の日を求めたい 6 2022/05/08 09:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
3のつく数字と3の倍数のみを表...
-
緯度、経度の 10進法と 60進法...
-
Excel-VBAのmsgBox()の不思議
-
bmp→jpgに、jpg→bmpに
-
分を時間に変換するプログラム
-
Mac 乗数の入力方法
-
VB.Netでのシリアル通信につい...
-
MSXMLとは?
-
家電製品の電力周波数を変える機械
-
StrConvの使い方について教えて...
-
VBAでUTF-8文字を読込、Excelに...
-
C# でIME の状態を知るには?
-
APIのメッセージループの流れと...
-
postgresqlのC++での文字エンコ...
-
C言語からC#への変換ツール
-
シーケンサ 数字の変換
-
VB.NETからJavaに変換するツー...
-
UTF8→ShiftJISに変換したいです!
-
アセンブラ言語の数字を数値に...
-
変換のプログラムを教えてくだ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
緯度、経度の 10進法と 60進法...
-
Excel-VBAのmsgBox()の不思議
-
Mac 乗数の入力方法
-
家電製品の電力周波数を変える機械
-
3のつく数字と3の倍数のみを表...
-
bmp→jpgに、jpg→bmpに
-
10進数をBCDに変換する方法
-
【EXCEL】カナ、ひらがなを英字...
-
StrConvの使い方について教えて...
-
分を時間に変換するプログラム
-
画像ファイル変換(Tiff→PDF)
-
マンセル⇔XYZ,RGB変換式或いは...
-
C/C++→JAVAに変換するツール
-
VB6からVB2010への変換について
-
c++でmatからvectorへの変換の...
-
DOSコマンドでの文字コード変換...
-
VB.NETをJavaに変換するツール...
-
SJIS⇔UTF-8の文字コード...
-
なぜ通信には16進数文字列が使...
-
C#でのpngからbmpへの変換について
おすすめ情報
元にもどすとは
Range("J13:AN32").Select に
入力された文字すべてが対象です。
この場合空白セルもありますが。
例えば
早 となっていたら h にです。
早速のご指導を有難うございます。
ご指摘の、
最後の「a→""」 作成時の苦労を思いだしました。
何故かと申し上げますと あるセルの値を修正したい時、 a を入力してコマンドボタンを押せば
空白になり再度新しい値を入れれば修正することができます。
私なりのやり方かもです。
ご迷惑かけました。
このことにきずかずかなりの時間を費やしました。