Excel VBA 質問スレッド No.14 (未解決)

表示文字の後ろの4文字を消去する方法

投稿者 : Isao     投稿日時 : 2016/10/27(Thu) 19:39:50     OS : Windows 7     EXCEL : Excel 2010
サンプルとして、”12345ab67”とあれば、後ろの4文字を除去した”12345”のみの表示にしたいのです。

マクロ実行後に表示変更したいのです。

よろしくお願いします。

[返信 1] Re : 表示文字の後ろの4文字を消去する方法
投稿者 : 管理人     投稿日時 : 2016/10/27(Thu) 22:54:06
> マクロ実行後に表示変更したいのです。

どいうことでしょうか?
マクロを使わずに数式などで4文字削除するということですか?

[返信 2] Re : 表示文字の後ろの4文字を消去する方法
投稿者 : Isao     投稿日時 : 2016/10/29(Sat) 06:13:06
■[質問] Isaoさん(2016-10-27 19:39:50)の記事
> サンプルとして、”12345ab67”とあれば、後ろの4文字を除去した”12345”のみの表示にしたいのです。

> マクロ実行後に表示変更したいのです。

> よろしくお願いします。
> 質問を間違えてしまいました。返答していただいた皆様お礼を申し上げます。すみませんでした。

正しくは
行      A列        A列
1  JP1051051C60 Corp → JP1051051C60
2  JP1051061C92 Corp → JP1051061C92
3  JP1051071CC7 Corp → JP1051071CC7
4  JP1051081D22 Corp → JP1051081D22
5  JP1051101D44 Corp → JP1051101D44
↑後ろ4文字と前12文字の間に半角隙間があります。
上記のように元ファイルにマクロをかけて右のA列のように自動加工したいのです。
よろしくお願いします。

[返信 3] Re : 表示文字の後ろの4文字を消去する方法
投稿者 : 管理人     投稿日時 : 2016/10/30(Sun) 18:46:45
これでどうでしょうか。

Sub sample()

Dim row As Integer
Dim str As String
Dim rmchars As Integer

' 削除したい後ろからの文字数
rmchars = 4

For row = 1 To 5

str = Cells(row, 1).Value

Cells(row, 1).Value = Left(str, Len(str) - rmchars)

Next row

End Sub


もし途中の空白も削除したければ、トリムするか、rmchars = 5 としてください。

スポンサード リンク
 
 
当掲示板について
返信入力フォーム
お 名 前  :
内  容   :
ステータス  : この質問を解決済みにする

認証コード  :
        キャプチャ画像


( 処理日時 : 2019-08-26 09:44:34 )

Page
Top