質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

1回答

641閲覧

【VBA】メールアドレスのアルファベットからイニシャルを作成

wawa2150

総合スコア0

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2021/09/29 11:12

前提・実現したいこと

VBAを使用して、メールアドレスからアルファベットを抜き取りイニシャルを作りたいです。

例)

アドレスイニシャル
taro.yamada@yahoo.com
hanako.tanaka@yahoo.com
takao.suzuki@yahoo.com
:

↓ 隣の列に大文字、文字の間に"・"を入れる(最終行まで繰り返し)

アドレスイニシャル
taro.yamada@yahoo.comY・T
hanako.tanaka@yahoo.comT・H
takao.suzuki@yahoo.comS・T
:

試したこと

以下のような方法を考えましたが、スキルが不足しておりできませんでした…。
① @より右側の文字列を削除
② ①削除後、"."より右側をイニシャル列へ入力
③ アドレス列の1文字目とイニシャル列の1文字目を連結し、イニシャル列へ入力

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

Excel

1=UPPER(LEFT(A1,1)&"・"&MID(A1,FIND(".",A1)+1,1))

VBA

1Sub sample() 2 Dim ws As Worksheet, c As Range, arr As Variant 3 Set ws = ActiveSheet 4 For Each c In Intersect(ws.UsedRange, ws.Columns(1)).Cells 5 arr = Split(StrConv(c.Value, vbUpperCase), ".") 6 c.Offset(, 1).Value = Join(Array(Left(arr(0), 1), Left(arr(1), 1)), "・") 7 Next 8End Sub 9

投稿2021/09/29 11:46

編集2021/09/29 12:46
jinoji

総合スコア4585

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

wawa2150

2021/09/29 13:15

jinoji様 回答ありがとうございます!早速試してみます。 以下のコードが何をしているのか分からなかったので教えていただけないでしょうか。 Join(Array(Left(arr(0), 1), Left(arr(1), 1)), "・")
jinoji

2021/09/29 13:21

Join(Array( Left( arr(0) , 1), Left( arr(1) , 1) ), "・") Join(Array( Left("taro", 1) , Left( "yamada@yahoo", 1) ), "・") Join(Array("t", "y"), "・") "t・y"
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問