• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel マクロ 特定文字の抽出)

Excelマクロで特定文字の抽出

jcctairaの回答

  • ベストアンサー
  • jcctaira
  • ベストアンサー率58% (119/204)
回答No.2

hyogara777さん こんにちは。 方法は大きく2つあります。 1.セルにセットする値を文字(頭にアポストロフィー「'」を付ける)にする  Cells(i, "B") = "'" & strt 2.表示形式を変更する  2-1.文字形式にする   Cells(i, "B").NumberFormatLocal = "@"     Cells(i, "B") = strt  2-2.数字で3桁表示にする   Cells(i, "B").NumberFormatLocal = "000"     Cells(i, "B") = strt 上記から、自分にあった対応をしてください。

hyogara777
質問者

お礼

ご回答ありがとうございます。参考にさせて頂きます。

関連するQ&A

  • Excel2007 マクロ 特定セルの文字列抽出

    Excel2007 マクロ 特定セルの文字列抽出 A列に100行程度、製品番号が入っています。 例えばAAAA-NNN-BBBB-UUUUUUUとある場合に NNNだけを抽出して、B列に転記します。 関数であれば、Mid関数で解決できるのですが、 マクロで解決したいです。 下記を自分で考えたのですが、エラーが発生します。 アドバイスお願いいたします。 Sub moji() Dim last As Long, i As Long Dim strt As Integer 'A列「製品番号」から文字を抽出してB列に反映 last = Range("A65536").End(xlUp).Row For i = 2 To last strt = Mid("A", 7, 3) Cells(i, "B") = strt Next i End Sub

  • Excel 2007 マクロ 文字列の抽出について

    Excel 2007 マクロ 文字列の抽出について 元データのB列(番号)に5桁、3桁、7桁の数字が入っています。 その番号をSheet2にコピーして貼り付けます。 貼り付ける際に、5桁、3桁、7桁をそれぞれの列に入れます。 Sheet2のB列(番号2)で400番台はF列(種別)に国産 同じくB列(番号2)で900番台はF列(種別)に外国産 を反映するようにしたいです。 どのようなマクロになりますでしょうか。 サンプルがございましたら、お教えください。

  • Excel マクロ抽出、別シートに張り付け

    Excelマクロについて質問です。 (1)特定の行の抽出方法 (2)抽出した複数の行を別シートに貼付ける方法 (3) 例 Cells(1,1)=Cells(2,1)=1 And Cells(1,3)=Cells(2,3)=1 And Cells(1,6)=Cells(2,6)=0の時のように、i=1,3,6でCells(k,i)=Cells(k+1,i)が成り立ち、Cells(k,i)の行だけを抜き出すコードの書き方を教えていただけますでしょうか? 宜しくお願い致します。

  • 特定の文字や数字だけを抽出

    14H010 14S001 14005 14H001B 14H010B 14005 14S004 1)左から2つだけの数字だけを取り出す方法 2)もし左から二つの数字の隣の文字だけ(HやS)を取り出す方法(2文字の可能性もある) 3)真ん中の3つの数字を取り出す方法(010,001,005) 4)右の文字(B)だけを取り出す方法(2文字の可能性もある) それぞれの方法をIF関数とLEN, RIGHT, LEFT, MID関数の組み合わせを使って抽出できるようなのですが、何時間かけても抽出ができません、、、。 たくさんの質問になりますがお答えいただけると幸いです。

  • Excelのマクロについて

    文字列から数値だけを抽出するマクロを見つけたのですが、抽出するデータを選択してから実行しなければなりませんでした。 抽出するデータはAセル以下にしかないので、データを選択しないでも実行できるようにするにはどうしたら良いのでしょうか? 宜しくお願いします。 以下見つけたマクロです。  Sub test()  Dim mydata As String  Dim c As Range  Dim i As Integer  For Each c In Selection   mydata = ""  For i = 1 To Len(c)   If Mid(c, i, 1) >= 0 And Mid(c, i, 1) <= 9 Then   mydata = mydata & Mid(c, i, 1)    End If   Next   c.Offset(0, 1) = mydata   Next  End Sub

  • Excelのマクロで()内の文字を抽出して書き出したい

    HTMLにあるテーブルの部分をコピペして貼り付けたExcelファイルがあります。 A~Cまでの3列が埋まっている状態で、D以降の列は空欄です。 C列に123(1112)というように、数字(数字)の記載になっている部分があります。 ()の前と、中は必ず半角数字で、桁は1桁~5桁までと幅広い状態です。 この()内の数値をD~F欄に書き出したいです(縦3列のものを、横3列として書き出したい) 数字(数字)という記載のセルは、必ず縦に3つ並んでいますが C列は膨大なセル数なうえに、数字(数字)という記述以外のセルも間に入っております(数字のみのセルか、空欄のセルです) 3つ並んでいる部分のみを探して、()内の数値を抽出し、D~F列に書き出すことは可能でしょうか? 書き出す場所は、3つ並んでいるC列の最初のセルの横のD~Fだと助かります。 (数字(数字)がC6~8にあった場合、D6~F6に書き出される) なお、数字(数字)というセルはC列以外にはなく、4つ以上縦に並ぶ事もありません。 さすがにこのような内容を実行するのは不可能でしょうか? もし可能でしたら、マクロを組んでいただきたいです・・・よろしくお願いします。

  • エクセルのマクロについて

    下記は、A列3行の7文字目~10文字と B列5行~文字のある最後の行までの範囲の左から1文字目~4文字 に相違がある場合 MsgBox i & “行目” を出す。 というマクロなのですが、『B列5行~文字のある最後の行までの範囲』の中でも『空白のセルに関してはMsgBox不要』というふうに付加えたいのですがどのようにすればよいでしょうか。 Sub Macro1() Dim i As Long Dim sOrgText As String Dim ltotal As Long With ActiveSheet sOrgText = Mid(.Cells(3, 1), 7, 4) ltotal = .Cells(65536, 2).End(xlUp).Row For i = 5 To ltotal If Not Mid(.Cells(i, 2), 1, 4) = sOrgText Then MsgBox i & "行目" End If Next i End With End Sub

  • excel 文字抽出マクロの編集についてですが・・・

    マクロで指定した文字を含むデータを抽出するマクロを 作っていたのですが、うまく作動しません。 どこが悪いか教えてください。 Sub 指定した文字データの抽出() Dim strMoji As String strMoji = InputBox("検索文字を入力してください") strMoji = "*" & strMoji & "*" Sheets("Sheet2").Activate Cells.Clear With Sheets("Sheet1") .Range("A2").AutoFilter Filde:=3, criterial:=strMoji .Range("A2").CurrentRegion.Copy _ Destination:=Sheets("Sheet2").Range("A2") .Range("A2").AutoFilter End With Sheets("Sheet2").Columns("A:D").AutoFit End Sub

  • エクセルのマクロについてなのですが…

    現在マクロを使用して数字の入力を行おうとしております。 セルのB2は変数iを入力(例えば5を入力) 値を入力する範囲はセルのCells(1,1)からCells(i,1)(下記あ~お)に 1~iまでの数字を重複する事無く入力します。 なお、セルのCells(1,1)からCells(i,1)に入力する数字は Rndを使用して乱数にしたいのですが 乱数の入力までは何とか辿り着いたのですが どうしても重複してしまいます。 ネットで調べたのですが、コピレば使えるのですが マクロの意味が良く分からないので 出来れば行ごとの意味も教えていただきたいのですが… ワガママばかりで申し訳ありません。 A B C D 1 あ 2 い 5 3 う 4 え 5 お 6 ・ ・ ・

  • テキストボックスにコピーするマクロ

    エクセルのA1にある文字列の先頭から2番目の文字を、テキストボックスにコピーするマクロのことですが。 Sub copy()  Cells(2, 1) = "=MID(A1,2,1)"  Selection.copy  Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, _  SkipBlanks:=False, Transpose:=False  ActiveSheet.Shapes("Text Box 4").Select  Selection.Characters.Text = Cells(2, 1) End Sub 上記のもので成功しますが疑問に思うことがあります。 Cells(2, 1) = "=MID(A1,2,1)" の次の行に Cells(2, 1).Select を置くと、実行後に A2 には関数が残らず数値しか存在しなくなります。どうしてでしょう? (コピー → 形式を選択して貼り付け を手作業でやる時は関数は残るのに) また、上記よりも簡潔なマクロがあれば教えて下さい。