Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


50138 / 76732 ←次へ | 前へ→

【31489】Re:セル内文字列(指定文字)の分割
発言  ichinose  - 05/11/22(火) 23:16 -

引用なし
パスワード
   ▼ponpon さん、超初心者SSさん、こんばんは。

検索したい文字列が二つは、必ず、一部が含まれている
(本---本数、品---品数、証---証拠のように)のであれば、
ponpon さんの方法がよさそうですね。

以下のコードはA列のデータをB列とC列に分割し、
最終的にA列を削除するコードです。

'======================================================
Sub main()
  Dim 検索1 As String
  Dim 検索2 As String
  検索1 = "本"
  検索2 = "本数"
  wk = 検索1
  If Len(検索1) < Len(検索2) Then
    検索1 = 検索2
    検索2 = wk
    End If
  Dim rng As Range
  Set rng = Range("a2", Cells(Rows.Count, 1).End(xlUp))
  With rng
    If .Row > 1 Then
     With .Offset(0, 1).Resize(, 2)
       .Formula = _
        Array("=IF(ISERROR(FIND(""" & 検索1 _
            & """,A2)),SUBSTITUTE(A2,""" & 検索2 & _
            """,""""),SUBSTITUTE(A2,""" & _
            検索1 & """,""""))", _
            "=IF(ISERROR(FIND(""" & 検索1 & _
            """,A2)),IF(A2=B2,"""",""" & 検索2 _
            & """),""" & 検索1 & """)")
       'B列には、
       ' =IF(ISERROR(FIND("本数",A2)),SUBSTITUTE(A2,"本",""),SUBSTITUTE(A2,"本数",""))
       'C列には
       '=IF(ISERROR(FIND("本数",A2)),IF(A2=B2,"","本"),"本数")
       'この例では、上記のような数式が入る
       .Value = .Value
       End With
     Range("a:a").Delete
     End If
    End With
End Sub

確認してください。

2 hits

【31487】セル内文字列(指定文字)の分割 超初心者SS 05/11/22(火) 22:08 質問
【31488】Re:セル内文字列(指定文字)の分割 ponpon 05/11/22(火) 22:59 発言
【31489】Re:セル内文字列(指定文字)の分割 ichinose 05/11/22(火) 23:16 発言
【31491】Re:セル内文字列(指定文字)の分割 超初心者SS 05/11/23(水) 7:29 お礼

50138 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free