秘密基地、どこに作った?

関数でなくマクロでのコードはどうなりますでしょうか?

A列に「,」で区切られている文字があります。
「,」より前の文字を同じシートのA列に表示
「,」より前の桁数は決められています。(左からアルファベット2文字と数字8)
「,」より後ろの文字数は変動します。

どなたかよろしくお願いします。

「VBA B列にある前から10文字のみ表示」の質問画像

A 回答 (3件)

「,」より前の桁数は決められているなら、他の回答者からの


アドバイスにあるように文字数で指定すれば済みます。
「,」より前の桁数が増減する場合で「,」以降を削除する場合
区切り文字で処理する方法もあります。

Sub Sample()
 Dim i, r As Long, tmp As Variant
 r = Range("A1").SpecialCells(xlLastCell).Row
 For i = 1 To r
  tmp = Split(Cells(i, 1), ",")
  Cells(i, 1) = tmp(0)
 Next i
End Sub

http://officetanaka.net/excel/vba/tips/tips62.htm
https://www.sejuku.net/blog/28929#index_id2
    • good
    • 1
この回答へのお礼

コードありがとうございました。
早速使用いたしました。

自分で調べたらものすごく複雑で長いコードだったのですっきりしました。
ありがとうございます。

お礼日時:2023/08/07 14:16

for分などの要素は省いてキモだけ。

A1だけ記述。

Range("A1").Value = Left(Range("A1").Value,10)

文字列の左から10文字抽出は、Left(文字列,10)
    • good
    • 0
この回答へのお礼

書き込みありがとうございます。
お勉強になりました。
お忙しい中ありがとうございました。

お礼日時:2023/08/07 14:16

こんにちは



ご質問文の説明通りなら「,」は無視してもよく、固定で最初から10文字分を切り取れば良いだけのように思えます。
https://learn.microsoft.com/ja-jp/office/vba/lan …
    • good
    • 0
この回答へのお礼

いつも書き込みありがとうございます('◇')ゞ

お礼日時:2023/08/07 14:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報