名前を姓と名に分けたい
Excelで下の表のように名簿リストを作成しています。
B列を参照し、姓と名を分けたい。
A | B |
---|---|
田中太郎 | Tarou Tanaka |
Johnson | Johnson |
山田一郎 | |
小池花子(ABC会社) | Hanako Koike (ABC会社) |
発生している問題・エラーメッセージ
問題は、この名簿には名前が姓と名で分けられない人がいる点です。
Johnsonのように、名前が姓と名で分けられていなかったり、
山田一郎のように、B列のセルが空白であったり
Hanako Koike (ABC会社)のように、姓名以外の文字列が入っている時
どのようなVBAのコードを書けばよいでしょうか。
下記のような表を作りたいです。
|A|B|C|D
|:--|:--:|
||
田中太郎|Tarou Tanaka|Tarou|Tanaka
Johnson|Johnson|(空白のまま)|Johnson
山田一郎||(空白のまま)|(空白のまま)
小池花子(ABC会社)|Hanako Koike (ABC会社)|Hanako|Koike (ABC会社)
該当のソースコード
Sub main() Dim ws As Object Set ws = ActiveSheet For i = 1 To 100 If Not Cells(i, 2) Like " " Then ws.Cells(i, 2) = Cells(i, 4) Else tmp = Split(ws.Cells(i, 2), " ") ws.Cells(i, 3) = tmp(0) ws.Cells(i, 4) = tmp(1) End If Next i End Sub
B列に空白が含まれないときは、B列の文字列をD列に入力し
B列に空白が含まれているときは、最初の空白の前の文字列をC列、最初の空白の後の文字列全てをD列に入力したい。
しかし実行すると、B1~100のすべてに空白が入力される結果となります。
Ifの条件が間違っていると思うのですが、どのように修正したらよいでしょうか。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。