[[20211206185758]] 『文字や数字の間にハイフンを入れたい』(キリン) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『文字や数字の間にハイフンを入れたい』(キリン)

お世話になっております。
セル内におきまして、右側から数えて1番目と2番目の間に、ハイフンを入れるマクロを作成したいのですが
ご教示お願い致します。

A列1行目はタイトルです
A列2行目から、文字と数字の組み合わせの番号が振られています。
全て半角ですが、数字と文字が混在しています。
例えば、
A22222
ス337B4
ラム333Q
です。

それを、
A2222-2
ス337B-4
ラム333-Q
と、右側から数えて1番目と2番目の間に、ハイフンを入れたいです。

Sub haifun()

Dim haiSh As Worksheet
Dim gyo As Long

Set haiSh = worksheets("Sheet1")
For gyo = 2 to haiSh.Cells(Rows.Count, "A").End(xiUp).Row

右側から数えて1番目と2番目の間に、ハイフンを入れる

Next
End Sub

ご教示いただきたく、宜しくお願い致します。

< 使用 Excel:unknown、使用 OS:unknown >


 こんばんわ ^^
1.ひだりから文字列の長さマイナス1を切り出し。
2.みぎから1文字を切り出し。
1.とハイフンと2.をつなぎ合わせると出来上がり!(^◇^)v

(隠居Z) 2021/12/06(月) 19:27


 ↑上の方が言う通り… A2セルのみやってみた (*ノ∀`)

 Sub Sample()

    Dim str(1 To 3) As String
    Application.ScreenUpdating = False
    str(1) = Left(Range("A2"), 4)
    MsgBox str(1)
    str(2) = Right(Range("A2"), 1)
    MsgBox str(2)
    str(3) = str(1) & "-" & str(2)
    MsgBox str(3)
    Application.ScreenUpdating = True

 End Sub
(あみな) 2021/12/06(月) 20:54

 あ! A2222-2 なのね...一個文字列少ないw

 str(1) = Left(Range("A2"), 5) 訂正
(あみな) 2021/12/06(月) 20:59

数式だと単純、マクロも同じ

=LEFT(A1,LEN(A1)-1)&"-" &RIGHT(A1,1)
(いちごオーレ) 2021/12/06(月) 21:24


 Sub hyphen()
     Dim k As Long
     Dim s As String
     With Worksheets("Sheet1")
         For k = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
             s = .Cells(k, "A")
             s = Left(s, Len(s) - 1) & "-" & Right(s, 1)
             .Cells(k, "B") = s      '確認できたら、A列に上書きしてください。
         Next
     End With
 End Sub
 屋上屋ですが。
(γ) 2021/12/06(月) 21:26

隠居Z様 あみな様 いちごオーレ様 屋上屋様

ご返信いただき、有難うございます。
みなさまのおかげで、出来ました。
Left, Right , Len を使いこなせると、このようにできるのですね。
本当に勉強になります。本当にどうも有難うございました。
(キリン) 2021/12/06(月) 23:37


"屋上屋を架す"ことになってしまい恐縮ですが。

が省略せずに書いた場合です。おくじょうおくをかす と読みます。
HNではありません。
(γ) 2021/12/07(火) 00:05


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.