2016-09-18 6 views
1

私は、複数の学生データを含むExcelブックをいくつか用意しています。学生のExcel - ミドルネームを削除して最初の文字に置き換えます。

名は形式である:氏ABCD EFGH IJKL

:ABCD:ファーストネーム。 Efgh:Middle Name; Ijkl:姓

マクロを実行したいと考えています。私はExcelを使用している季節のユーザーです。しかし、いくつかのフォーラムで読むことは私にマクロスの考えをもたらしました。氏ABCD E. IJKL

: ABCD:ファーストネーム E.:

マクロに名前を変換することができるはずです最初のアルファベット以外のすべてのアルファベットを剥奪ミドルネーム、。ミドルネームは様々な長さです。 Ijkl:姓

同じものを捨ててください。または任意の参照の質問/回答も良いでしょう。

+0

Sr/Jr/IIIなどの接尾辞がなく、各部分が単一の単語であると仮定するのは安全でしょうか?たとえば、Van der Wiel、de Mornay、George Herbert Walker Bushなどの複数のミドルネームを持つ人のような姓はありませんか? –

+0

yup @HerbWolfeうまくいくでしょう – GenXCoders

答えて

3

ここでは、ミドルネームはフルネームの最後から2番目のコンポーネントであると仮定します。

Public Function FixName(sIN As String) As String 
    Dim st As String 

    ary = Split(sIN, " ") 
    st = ary(UBound(ary) - 1) 
    ary(UBound(ary) - 1) = Left(st, 1) & "." 
    FixName = Join(ary, " ") 
End Function 

enter image description here

EDIT#1:

ユーザー定義関数(UDF)は非常に簡単にインストールして使用している:

  1. ALT-F11は、VBEのウィンドウが表示されます
  2. ALT-I ALT-Mが新しいモジュールを開きます
  3. にものを貼り付け、VBEウィンドウ

を閉じるブックを保存する場合は、UDFは、それに保存されます。 2003年後半以降のExcelを使用している場合は、 を.xlsmとして保存する必要はありません。UDFを削除するには

をXLSX:

  1. 明確上記のようにしてコード
  2. をVBEウィンドウを起動は、ExcelからUDFを使用するにはVBEウィンドウに

を閉じます。

= myfunction(A1)

参照、一般的にはマクロについて詳しく知ることができます。

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

とUDFの詳細については、以下を参照してください。

http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

マクロこのために有効にする必要があります仕事に!

+0

"sub"が足りないと言われました – GenXCoders

+0

@ user3152887私の編集#1を参照してください。**特にUDFをインストールする方法と場所について**をご覧ください。 –

+0

誰もミドルネームですか? –

関連する問題