0

ソフトウェア: エクセル 2010

私のクライアントにはあらゆる種類の形式の在庫番号があり、すべてのコードを適切な形式で取得できる必要があります。

ストックコードは

EY_20-DJ  -           

つまり、ハイフンの前に 2 スペース、ハイフンの後に最大 20 スペースです。重要なのは、ハイフンが動かないことです。すべての在庫アイテムがこのように見えるわけではなく、ごく一部であることを覚えておいてください. 基本的に、末尾のスペースのみを削除する必要があり、その間の追加のスペースを「修正」する必要はありません。

ハイフンの前の 2 つのスペースを 1 に減らす TRIM を試しましたが、CLEAN はこの点に関して何もしません。

式にそのまま残すことは可能ですか、それともマクロルートに進む必要がありますか?

アドバイスをいただければ幸いです。

4

2 に答える 2

1

Asap Utilities を試す必要があります: http://www.asap-utilities.com/ 多数のマクロがあり、その 1 つは、多くの Excel の演習で使用して魅力的に機能する間または後のスペースの削除です。

于 2012-06-19T07:50:23.300 に答える
0

このユーザー定義関数はトリックを行います:

Function RTrimExcel(s As String) As String
    RTrimExcel = Rtrim(s)
End Function

Rtrimこれは、まさにあなたが求めていることを実行するVBA の機能をラップしたものです。Excel から次のように呼び出します=RTrimExcel(A1)

ここに画像の説明を入力

末尾のスペースを見えるようにするために、テキストに下線を引く方法に注目してください。

これはマクロではないことに注意してください。これはユーザー定義関数です。あなたはマクロを使いたくないということをほのめかしていますが、実際に VBA を完全に使わないものが必要な場合はお知らせください... もう少し検討が必要です!

編集

最後の非スペース文字が常に-次のようなワークシート式を使用して実行できる場合:

=LEFT(A1,FIND(CHAR(1),
    SUBSTITUTE(A1,$B$3,CHAR(1),LEN(A1)-LEN(SUBSTITUTE(A1,$B$3,"")))))

をセル B3に保存している-ので、簡単に変更できることに注意してください。

ここに画像の説明を入力

于 2012-06-19T08:05:04.450 に答える