• 締切済み

マクロを使って

セルに「山田 太郎」など名前が入ってるとして、これをマクロを使って1000件位のデータを姓と名にわけたいんですけど、こういうことは可能でしょうか?

みんなの回答

  • souta_n
  • ベストアンサー率33% (79/234)
回答No.2

マクロはいらないでしょう。関数式で十分だと思います。 山田 太郎の山田と太郎の間に半角スペースが入っていればFIND関数で半角スペースが何文字目に入っているかを調べて、LEFT関数とMID関数で取り出します。具体的には 1.A1に「山田 太郎」が入力されているとします。 2.B1の計算式は=LEFT(A1,FIND(" ",A1))とすると山田のみが表示されます。 3.C1の計算式は=MID(A1,FIND(" ",A1),100)とすると太郎のみが表示されます。 注:" "は"の間に半角スペースを入れてください。もしその元データが全角スペースなら全角スペースを入れてください。

jai_jaijp
質問者

お礼

分かりやすい説明ありがとうございました。 早速やりました。完璧でした。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

(1)マクロ・VBAを使って出来ますが、関数で十分でしょう Sub test01() d = Range("A65436").End(xlUp).Row MsgBox d For i = 1 To d s = Split(Cells(i, "A"), " ") Cells(i, "D") = s(0) Cells(i, "E") = s(1) Next i End Sub (2)関数を使う A列に姓名があって B1に=LEFT(A1,FIND(" ",A1)-1) C1に=RIGHT(A1,LEN(A1)-FIND(" ",A1)) " "の中は実情に合わせて全角か半角のスペースを入れること。 1000行目まで、B1等で右下に+ハンドルを出して、下へ引っ張ること。 引っ張るのが面倒な人は B2をポイントし、名前ボックスにB1000といれShiftキーを押しながら下矢印を押す。B":B1000が範囲指定される。 編集ーフィル-下方向へコピー

jai_jaijp
質問者

お礼

分かりやすい説明ありがとうございました。 早速やりました。完璧でした。

関連するQ&A

専門家に質問してみよう