
以下のVBAで該当文字列の前後に付与したい。
例
前に付与 abc
ユーザーID 12345
後に付与 @sample.com
結果 abc12345@sample.com
下記の内容だと1対象分なので、これを対象数分に適応したいです。
また対象数は一律ではないので、該当数を最終行まで実行したいです。
対象をa2〜最終行まで処理させる為にはどうしたら良いでしょうか?
前後は変わらず中にくるユーザーIDのみa2列から参照させたいです。(都度対象者数が変動する)
Sub address()
'文字列格納用の変数を用意する
Dim Text As String
Dim BeforeText As String
Dim AfterText As String
'文字列を変数に代入する
Text = Cells(1, 2).Value
BeforeText = Cells(2, 2).Value
AfterText = Cells(3, 2).Value
'文字列の先頭と末尾に文字列を追加
Cells(5, 2).Value = BeforeText & Text & AfterText
End Sub
説明がうまくできず申し訳ございませんが、ご教示いただけますと幸いです。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
対象数分、を明確にしましょう。
案1. A1セルに書いた数
Range("A1").Value で数を読み出し
案2. A2セルから下方向に領域の終わりまでの行数
Range("A2").End(xlDown).Rows.Count で数を読み出し
参考)
https://docs.microsoft.com/ja-jp/office/vba/api/ …
数が決まれば単純な繰り返しです。
For r=1 To 数
_ 行 = 先頭行+(r-1)
_ Cells(行,5).Value = 前 & Cells(行,1).Value & 後
Next
No.2
- 回答日時:
こんばんは、
列と行を間違えていませんか?
>対象をa2〜最終行まで処理させる為にはどうしたら良いでしょうか?
前後は変わらず中にくるユーザーIDのみa2列から参照させたいです。(都度対象者数が変動する)
だとすると・・こんな感じです
Sub address()
Dim i As Long 'ループカンター変数
Const firstText As String = "abc" '定数
Const lastText As String = "@sample.com" '定数
'2行目から最終行まで繰り返し処理
For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row
'文字列の先頭と末尾に文字列を追加 (B列に出力)
Cells(i, "B").Value = firstText & Cells(i, "A").Text & lastText
Next
End Sub
Cells(Rows.Count, "A").End(xlUp).Rowは値のあるA列最終行番号
一番下のセル(A1048576セル)からCtrl+↑を押した時に選択されるセルの行№
No.1
- 回答日時:
こんばんは。
直接の回答ではありませんが、
セルA2:ユーザーID があって、これは完全に固定?
他のデータがどの様に並んでいるのでしょうか?B2とC2、B3とC3・・・?
マクロだと、B列にデータがある様な感じですが。。。
書き出しは1行空けて記載されるのでしょうか?
例題を画像で載せて貰えると解り易いかと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
人気Q&Aランキング
-
4
EXCELで変数をペーストしたい
-
5
vba 隣のセルに値がある行だけ...
-
6
Excel VBA、 別ブックの最終行...
-
7
特定のセルが空白だったら、そ...
-
8
セルの結果でマクロ実行
-
9
エクセル マクロで セルの範...
-
10
B列に特定の文字列が入っている...
-
11
セル色なしの行一括削除
-
12
VBAでセルに値が入ったときにイ...
-
13
ExcelVBAで、選択範囲内で同じ...
-
14
vbsのセル値の取得について
-
15
EXCELのVBA-フィルタ抽出後の...
-
16
DataGridViewでコードで値を入...
-
17
screenupdatingが機能しなくて...
-
18
Excel vbaで特定の文字以外が入...
-
19
Excelのハイパーリンクにマクロ...
-
20
Application.Matchで特定行の検索
おすすめ情報
公式facebook
公式twitter