
No.6ベストアンサー
- 回答日時:
No.3です。
>”アクティブセルのみ”に作用するよう変更できませんか。
↓に変更してみてください。
Sub Sample2()
Dim c As Range, myRng As Range
Set myRng = Selection
For Each c In Worksheets("Sheet2").Range("A1").CurrentRegion
If c <> "" Then
myRng.Replace what:=c, replacement:="", lookat:=xlPart
End If
Next c
MsgBox "完了"
End Sub
連日お忙しい中ありがとうございます。
おかげさまで何とか次の段階に進むことができそうです。
しかし複雑なVBAコードを書ける方というのは
私のような者からすると天才としか思えないのですが
学校とかに通ってその後何年も勉強してらっしゃるのか、
そもそもオツムの出来具合が違うのか、、、
下らない弱音を書いてお目汚ししてしまいすみません。
ありがとうございました。
No.7
- 回答日時:
こちらの質問には答えていただいていないので、こちらで、想像で作らせていただきました。
私の想像とは違うものなのか、それさえわからないけれども、言葉どおりに(抜けは存在するかもしれませんが)作れば、こうなるという見本のようなものです。これは、アクティブセルのみです。しょせん、納得いかないものを作ったものですから、返事は、つけてもつけなくても、どちらでもよいです。Unicodeに統一したかったのですが、できずじまいでした。数式は、当たり前ですが、「=」 がなくなります。
'//
Sub DeleteOthers()
Dim RegEx As Object
Dim Ms, m
Dim kata_h, kata_z, alpha_z, alpha_h, hira
Dim entTxt As String
Dim buf As String
Set RegEx = CreateObject("VBScript.RegExp")
With RegEx
'カタカナ、カタカナ、アルファベット(ABC)、アルファベット(ABC)、
'数字(123)、数字(123)、漢字、ひらがな
kata_h = Chr(&HA6) & "-" & Chr(&HDF) '半角カタカナ
kata_z = ChrW(&H30A1) & "-" & ChrW(&H30F6) '全角カタカナ
alpha_z = Chr(&H8260) & "-" & Chr(&H829A) 'アルファベット全角
alpha_h = "A-Za-z"
hira = ChrW(&H3041) & "-" & ChrW(&H3093) 'ひらがな
.Global = True: .IgnoreCase = False: .MultiLine = True
.Pattern = "([^一-龠\d\0-9" & kata_h & _
kata_z & alpha_z & alpha_h & hira & "]+)"
End With
If ActiveCell.HasFormula Then
entTxt = ActiveCell.Formula
Else
entTxt = ActiveCell.Value
End If
Set Ms = RegEx.Execute(entTxt)
buf = entTxt
For Each m In Ms
buf = Replace(buf, m.Value, "")
Next
ActiveCell.Value = buf
End Sub
ご回答ありがとうございます。
今朝確認いたしましたもので質問にお答えせず、
大変申し訳ございませんでした。
当方の質問が説明不足でしたが、エラーになる式というのは
別シートにあるデータをINDIRECT関数で引っ張る式です。ただその素データは複数の人間が手打ちで入力する、式ではない固有名詞で、それ自体にカッコやらスラッシュやらハイフンやら様々よけいなモノが混じっております。(最初から入力するなというのは難しい…)
基本的にはちゃんと働く式なのですが、エラーが出る場合があり、その理由を調べたら、元データに&や’が含まれている時にエラーが出ることがわかりました。
そのため、現時点では頻度の高い、検討のつく記号は元データを事前に置換し、それでもエラーの出る場合、目視で探してさらに置換をする、という手順をふんでおりました。(元データの量が多いので、エラーの元となる記号がたとえ2.3個だったとしても探すのがきつい。)
なので、元データ(式ではない)の時点で余計な文字を一括で排除できれば、と思って質問させていただきました。
No.5
- 回答日時:
>エクセルの関数で、
>毎回消したい文字が変わります。
関数として成立していないから、それを置換で直すなんて、ちょっと考えられません。
それが、6万件とか、Excelの表に載せる前の段階で加工するなりすればよいのではなかったのですか?
具体例のパターンを出来る限り上げてほしいです。
自信のある人は、それを見ないで可能なのかもしれませんが、私は、そんなことは言えないですね。
文字でエラーになるのではなく、数式スタイル上でのエラーになっているのではないでしょうか。つまり、その対象は、数式でエラーを出しているという所のはずです。そして、数式を文字列として扱うわけです。
私は、おそらく、VBAマクロとしても特殊なスタイルで、単純な置換ではないと考えました。エラーが出る原因が、そういう文字が入るという単純な理由なのでしょうか。そんなことはあり得ないと思います。なぜ、そんな文字が入ったのでしょうか?
>&、()、’、'、”、←のような文字が含まれている場合エラーになる式
これらの文字が含まれているだけではエラーにはなりません。
「カタカナ、カタカナ、アルファベット(ABC)、アルファベット(ABC)、
数字(123)、数字(123)、漢字、ひらがな」
以下のこれらの文字を省いたら、エラーでない所もエラーになります。
=を始め 、+,-,*,/ ,(,)
数式が数式と成り立つような文字列にし直さなくてはならないはずです。
そんなにかんたんにできるとは思えません。
No.3
- 回答日時:
こんばんは!
手っ取り早くVBAでの一例です。
元データはSheet1にあるとします。
まずSheet2に削除する文字列を羅列しておきます。
(薄い黄色が半角、その他が全角になります。)
※ 注意点 ※
絶対に「?」と「*」は入れないでください。
ワイルドカードになりますので、すべてのセルが空白になります。
標準モジュールです。
Sub Sample1()
Dim c As Range
For Each c In Worksheets("Sheet2").Range("A1").CurrentRegion
If c <> "" Then
Worksheets("Sheet1").Cells.Replace what:=c, replacement:="", lookat:=xlPart
End If
Next c
MsgBox "完了"
End Sub
※ 画像はこちらが勝手に削除する文字を選んだだけです。m(_ _)m

No.2
- 回答日時:
》 カタカナ
》 ひらがな
》 漢字
》 アルファベット
》 数字
》 上記以外を抽出または削除する
ひらがな、漢字以外は半角と全角があるけど「上記」の意味は両方ともですか?
》 &、()、’、'、”、←のような文字…削除したい
その中の「’」は半角文字「'」の全角文字なんだけど、分かってます?
他の3つは全角文字ということも?
No.1
- 回答日時:
>その都度SUBSTITUTEで指定するのが大変なのですが(置換機能も含む)
いやいや、面倒なら「置換」しましょう。
たかだか十数文字でしょ。
十数回「置換」するだけで6万件分すべてを対象とした「置換」が終わるのです。
これって凄いことですよね。
…まさかエラーになるセルをエラーの都度一つずつ置換などで修正しているなんて落ちはありませんよね?
・・・余談・・・
個人的には半角カナは全角カナに直すべきと思うんだ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 政治 私の発明した「二階建て漢字」は使えるでしょうか? 3 2023/02/08 16:40
- Excel(エクセル) エクセルについて教えてください。 一度入力した文字や数字を誤って削除や変更しないために、削除や変更を 3 2022/10/30 10:36
- Visual Basic(VBA) VBA 「,」・空白・カタカナ等の複数条件のマクロ 2 2023/08/23 11:57
- その他(プログラミング・Web制作) 2つのテキストファイルを比べて文字列を特定する方法を教えて下さい 5 2022/05/01 15:22
- Excel(エクセル) エクセルで重複データから重複を削除して指定の列に抽出したい 11 2022/05/11 11:26
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- Excel(エクセル) 【エクセル関数】アルファベットで以上だったらカウントする 4 2022/07/09 14:07
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Excel(エクセル) VBA 文字列変換と指定した列にある日時データから時間を削除する方法について 2 2022/04/14 15:23
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
このQ&Aを見た人はこんなQ&Aも見ています
-
見学に行くとしたら【天国】と【地獄】どっち?
みなさんは、一度だけ見学に行けるとしたら【天国】と【地獄】どちらに行きたいですか? 理由も聞きたいです。
-
いちばん失敗した人決定戦
あなたの「告白」での大失敗を教えてください。
-
もし10億円当たったら何に使いますか?
みなさんの10億円プランが知りたいです!
-
あなたの人生で一番ピンチに陥った瞬間は?
これまでの人生で今振り返ると「あの時、1番ピンチだったなぁ...」という瞬間はありますか?
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
文字列から英数字のみを抽出する関数
Excel(エクセル)
-
EXCELで、漢字のみ抽出する式を教えてください。
Excel(エクセル)
-
EXCELで、セル内の半角カナのみを削除する関数
Excel(エクセル)
-
-
4
エクセルでアルファベットか数値の判定をしたいのですが
Excel(エクセル)
-
5
エクセル関数またはVBAについて
Excel(エクセル)
-
6
Excel2007でカタカナの文字のみを抽出、表示するには?
その他(Microsoft Office)
-
7
エクセル関数で記号から記号の間の文字を取り出す
Excel(エクセル)
-
8
セル内文章から、英数字のみ取り出す関数を教えてください
Excel(エクセル)
-
9
エクセル特定記号で囲まれた数字、文字を抽出
Excel(エクセル)
-
10
EXCELで=より左の文字を一括で削除したい
Excel(エクセル)
-
11
エクセル(2003) 「1900/1/0」を消したい
Excel(エクセル)
-
12
ローマ字→カタカナへ変換(エクセルで)
Excel(エクセル)
-
13
数値とアルファベットに分ける(エクセル)
Excel(エクセル)
-
14
エクセルでセルの中身が漢字かどうか識別する方法は?
Excel(エクセル)
-
15
エクセルで小数を含む数値の抽出
その他(Microsoft Office)
-
16
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
17
エクセル、関数でセル内の半角カタカナ漢字、を分けて他のセルへ表示する方法
Excel(エクセル)
-
18
全角・半角混在の文字列から半角文字のみ取り出す
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで文字の入力がセルの...
-
多数の計算セルに一括で同一の...
-
Excelからテキストへのコ...
-
Excelで、半角スペースをTABに...
-
Excelの空文字セルの削除方法を...
-
Excelのシートにある1行...
-
エクセルのセルの中の,よりも前...
-
Excelの入力済みセルに一括で、...
-
excelで可視セルのみ置換
-
一括でダブルクリックした状態...
-
エクセルの表ををメモ帳などに...
-
エクセルでセル内の一部分だけ...
-
小数点を消す方法
-
置換機能を使わずに先頭に「'」...
-
Excelのアポストロフィーの削除
-
【エクセル】ピボットテーブル...
-
エクセルでセル内の一部を一括...
-
エクセルの削除
-
エクセルのふりがなを置換したい
-
エクセルでカンマ区切りのまま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで文字の入力がセルの...
-
多数の計算セルに一括で同一の...
-
Excelで、半角スペースをTABに...
-
Excelからテキストへのコ...
-
エクセルのセルの中の,よりも前...
-
Excelのシートにある1行...
-
excelで可視セルのみ置換
-
小数点を消す方法
-
Excelの空文字セルの削除方法を...
-
【エクセル】ピボットテーブル...
-
Excelの入力済みセルに一括で、...
-
置換機能を使わずに先頭に「'」...
-
エクセルでセル内の一部分だけ...
-
一括でダブルクリックした状態...
-
Excelで特定の文字の前だけに空...
-
Excelのアポストロフィーの削除
-
Excelのmatch関数エラー原因が...
-
別シートのリストから置換する方法
-
エクセルでセルを文字列設定し...
-
エクセルの関数で、記号などを...
おすすめ情報
毎回消したい文字が変わります。
特定の文字ではないので、現時点では↓以外の文字を探して置換しています。
カタカナ、カタカナ、アルファベット(ABC)、アルファベット(ABC)、
数字(123)、数字(123)、漢字、ひらがな
以外の文字を抽出(抽出できれば削除も可能なので)、削除したいのですが
何か良い方法がわかる方がいらっしゃいましたら、教えていただけないでしょうか。
よろしくお願いいたします。
後から追加で大変申し訳ないのですが
”アクティブセルのみ”に作用するよう変更できませんか。
こちらの都合で本当にすみません!!