文字数を越えた文字列を削除するには?
いつもお世話になっております。また行き詰ってしまいました。
ご助言頂きたくお願い致します。
A列とB列にデータが入っていて、B列には2つのパターンの文字が入っています。
一つは、前の10文字が必ず半角(英字+9ケタの数字)その後は全角のスペースの後に
全角の文字が並びます。(全角の文字数は不規則)
例1:A123456789 あいうえおかきくけこさしすせそ
もう一つは頭からすべて全角文字
例2:あいうえおかきくけこさしすせそたちつてと
問題になっている部分は、このB列に入っているデータを頭から
全角15文字以内、半角なら30文字以内に収める
という所です。
例1だと、
A123456789 あいうえおかきくけこさしすせそ
→A123456789 あいうえおかきくけ(半角10文字+全角10文字)
例2だと
あいうえおかきくけこさしすせそたちつてと
→あいうえおかきくけこさしすせそ(全角15文字)
下記のようなマクロを作ってみたのですが2つのパターンに対応する為にはどうすればよいでしょうか?
Const col1 As String = "B"
Dim idx1 As Long
Dim myStr1 As String
With ActiveSheet
For idx1 = .Cells(65536, col1).End(xlUp).Row To 1 Step -1
myStr1 = Cells(idx1, "B")
If .Cells(idx1, "B").Value = "" Then
Else
Cells(idx1, "B") = Left(myStr1, 15)
End If
Next idx1
End With
以上、宜しくお願い致します。
環境:windowsXP Excel2003
お礼
完璧です!ありがとうございました。