お世話になっております。
Excel VBAでこんなことできるのかわかりませんが、ご教授いただきたくよろしくお願いいたします。
例えば、
(1)
A列の(セルA1)
具有能量回收的电动汽车制动控制方法
B列の(セルB1)
具有エネルギー回収的電気自動車制动控制方法
があった時に、その差分用語
(2)
A1:能量、电动汽车
B1:エネルギー、電気自動車
を任意の別シートのA列、B列にそれぞれ出力したいのですが、
<イメージ>
A列 B列
能量 エネルギー
电动汽车 電気自動車
そんなことって可能なのでしょうか?
可能であれば、(1)でA列、B列にそれぞれ対応した差分用語を
(2)の別シートに出力していきたいです。
わかる方がおりましたら、ご教授の程よろしくお願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
スマフォなので少し分かりにくい表現になったかもしれません。
補足します。あなたの例で仮に「エネルギー電気自動車」という順番で差分が並んだ場合、VBではこの2つを切り離す基準を提示してあげないとダメなはずです。
私が書いた案は、あくまで上下の差が見つかった時を基準に文字列を分割しています。別シート等に単語を登録しておけば、この分割の基準に使えます。
言葉足らずですが、ご参考まで。
No.1
- 回答日時:
VBには単語を認識する力は無かったと思います。
つまり、エネルギーという文字列を塊として捉えられず、あくまでエ、ネ、ル、ギ、ー、という個々の文字でしか比較対象に出来ません。となると、ロジックを無理やり組んでみるしかないですね。前提としては、
差分となる文字列は1文字以上である。
連続した文字列の後ろは共通の文字の可能性がある。
この場合、差分となる文字列が2つ以上続けて現れた場合、前述の通りこれらをVBだけで分割するのは難しいと思います。
無理矢理分割するなら、処理を分けて単語を登録しておき、差分を出した結果をさらに分割する方法がありますが、不特定多数の単語に対しては難しいでしょう。
差分を出すだけなら、上下を1文字ずつ比較し、等しい場合は次の文字に移り、異なる場合は文字を変数に格納。上下で単語の文字数が異なる場合もあるので、格納した変数同士も比較し、同じ文字があったらその文字以降を切り捨て、本来の比較対象に切り捨てた場所から最初と同じ比較を始める。で、文字列の最後まで到達したら終了。あとはこれをきちんと整理してソースを書けば大丈夫だと思います。ご参考まで。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA 検索と入力 Excel ブック ぶぶぶ シート ししし 列V 検索対象の列です 最終行は、お 6 2023/05/17 01:40
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Excel(エクセル) ExcelVBA メモ帳を起動し名前を付けて指定フォルダに保存 2 2022/04/18 13:15
- Excel(エクセル) Excelで、あるセルだけ入力させたい、オートフィルターも使わせたい際のシートの保護 2 2023/02/23 15:14
- Excel(エクセル) 【再度】Excelの関数について教えてください。 4 2023/07/28 13:06
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- Excel(エクセル) エクセルVBAでチェックボックスにチェックを入れる 1 2022/09/14 00:52
- Visual Basic(VBA) Excel VBA マクロ ある列の最終行迄を参照し、別の列の空白セルに値を入力したいです 2 2023/03/05 02:44
- Excel(エクセル) Excelの関数について教えてください。 5 2023/07/28 11:27
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
GetDlgItemTextについて
-
Accessのクエリで、replace関数...
-
エクセルで、特定の文字列より...
-
select文の戻り値を変数に格納...
-
EXCEL VBA For to
-
エクセルでエラーを無視して一...
-
C言語 1から20までの逆数の和を...
-
特定のセルが空白だったら、そ...
-
長音「ー」とマイナス「-」の...
-
クリックされたセルの位置を取...
-
表にフィルターをかけ、絞った...
-
Excel vbaで特定の文字以外が入...
-
テキストボックスのvalueとtext...
-
ASP.NET:複数結合テーブルのデ...
-
16進数から2進数へ
-
Excel VBA、 別ブックの最終行...
-
For Nextマクロの高速化につい...
-
C言語にてプログラミングを行っ...
-
VB.NETで DataRow()を利用して...
-
ExcelでGaussian fittingをした...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessのクエリで、replace関数...
-
文字列の後ろから必要分だけ削...
-
UNICODE文字が含まれているかの...
-
ダブルクォーテーションを文字...
-
エクセル関数で記号から記号の...
-
文字列にアルファベットが何文...
-
C言語でギリシャ文字は使えます...
-
GetDlgItemTextについて
-
strcmp( )関数について教えて...
-
VS C++6.0のCString にて先頭1...
-
お願いです!!
-
URLで使える文字・使えない...
-
文字数と単語数を数えるプログラム
-
awk で右端の文字を1文字削除...
-
右から何文字目にあるか文字位...
-
CSVの禁則文字
-
VBScriptでXcopyしたいのですが
-
64進数
-
環境依存文字?をEnumで定義したい
-
VB2008 文字列に等間隔にスペ...
おすすめ情報