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

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

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

Q&A

4回答

638閲覧

Excel 特定の文字を抽出する

Kirari

総合スコア32

0グッド

0クリップ

投稿2021/08/16 12:16

特定の文字を抽出したい

ExcelのSheet1_A1セル
TEL:0000-0000-0000

ExcelのSheet2_A1セル
0000-0000-0000

TEL:を除いた電話番号だけを抽出したいのです。

発生している問題・エラーメッセージ

下記のソースコードを書きましたが、Sheet1_A1セルの電話番号を ExcelのSheet1_A1セル TEL:1111-1111-1111 にしたところ、 ExcelのSheet2_A1セル 1111-1111-1111にならず、 0000-0000-0000になりました。 アドバイスいただけないでしょうか。

該当のソースコード

VBA

1Sub Macro1() 2' 3' Macro1 Macro 4' 5 6' 7 Selection.Copy 8 Sheets("Sheet2").Select 9 ActiveSheet.Paste 10 Application.CutCopyMode = False 11 ActiveCell.FormulaR1C1 = "0000-0000-0000" 12 Range("A1").Select 13 14End Sub

試したこと

LEFT(A1,4)でTEL:は抜くことができたのですが、番号は抜くことができませんでした。

補足情報(FW/ツールのバージョンなど)

Windows10
Excel2010

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

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

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

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

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

guest

回答4

0

Sub aaa()

Worksheets("Sheet2").Range("A1") = Replace(Range("A1").Value, "TEL:", "")

End Sub

と、TEL:を取りたいだけならこれが簡単かと。

投稿2021/08/17 13:05

YagiYukio

総合スコア15

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

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

0

VBA

1Sheets("Sheet2").Range("A1").Value = Mid(Sheets("Sheet1").Range("A1").Value, 5)

投稿2021/08/17 07:09

jinoji

総合スコア4585

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

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

0

マクロを使わずとも、"TEL:"という文字列を切り落とすだけならば、

  • SUBSTITUTE関数で空文字列に置換する
  • RIGHT関数とLEN関数を組み合わせる

などの方法があります。

投稿2021/08/16 14:56

ishina_yum

総合スコア509

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

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

0

FormulaR1C1ではなくNumberFormatLocalではないですか?

投稿2021/08/16 13:08

itagagaki

総合スコア8402

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問