以下の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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) 正規表現を用いての並び替え 7 2022/04/04 09:27
- Visual Basic(VBA) VBA 重複チェック後に値をワークシートに転記する方法を教えてください。 1 2023/03/19 12:43
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでアルファベットか数...
-
EXCELで=より左の文字を一括で...
-
Excelで指数表現しないようにす...
-
文字列からタブコードを取り除...
-
VBAでの Replace関数で、ワイル...
-
Excelで3E8を3.00E+8にしない方...
-
エクセルで文字列の最大値を抽...
-
エクセルで文字列をtxtファイル...
-
VBの「As String * 128」とは?
-
MS SQLServer のSQLで文字列の...
-
Msgboxの×が押されたとき
-
アクセスで特定の数字以外(複...
-
エクセル 数値データを桁をそ...
-
ACCESSのSQLでのカンマ’認識に...
-
Left関数とRight関数を合わせた...
-
エクセルでセル内の文字列の最...
-
sedなどで、特定の文字列の後の...
-
変数内に入った文字列の結合 UWSC
-
同一セル内に関数と文字列を同...
-
vbsからバッチファイル実行時の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでアルファベットか数...
-
EXCELで=より左の文字を一括で...
-
文字列からタブコードを取り除...
-
Excelで3E8を3.00E+8にしない方...
-
VBAでの Replace関数で、ワイル...
-
Excelで指数表現しないようにす...
-
MS SQLServer のSQLで文字列の...
-
エクセルで文字列の最大値を抽...
-
エクセル 数値データを桁をそ...
-
sedなどで、特定の文字列の後の...
-
エクセルで文字列をtxtファイル...
-
VBA2005 16進を2桁で表示したい。
-
同一セル内に関数と文字列を同...
-
Left関数とRight関数を合わせた...
-
“丸(〇/○/◯)”に似た文字…
-
VBの「As String * 128」とは?
-
【Excel VBA】複数ある特定の文...
-
【excel】複数のセルを対象に特...
-
ORCLEでの小数の表示方法の変更...
-
aaa.bbb.ccc という、「ドット...
おすすめ情報