[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBAで』(VBABAA)
A B C D A 1 aaa (a) (a)-1 2 aaa (a) (a)-2 3 aaa (a) → (a)-3 4 bbb (b) (b)-1 5 ・ ↑これを自動で出したい。 ・
B列を参照して、A列に上記のような管理番号のようなものを出せるようにしたいです。
B列の数(aaaのセルの数)は変動し、B列を記入しきった後でマクロを走らせ、A列に番号を振りたいのですが、私の頭では、
1.B列に入る可能性のある文字列の数だけ変数を指定する。
2.countifでそれぞれの変数の最大値を調べる。
3.vlookup("(a)-"を作る) ∔ for構文で文字列を合体させる。
くらいしか思いつかないのですが、何か他の手立てはないでしょうか?
< 使用 Excel:Excel2010、使用 OS:Windows10 >
A1: =IF(B1="","","("&LEFT(B1,1)&")-"&COUNTIF($B$1:B1,B1))
(メジロ) 2019/12/12(木) 13:56
提示された例を見る限りこんな感じでもいけそうです
Sub さんぷる() Dim 枝番 As Long Dim 行 As Long
Stop '←ブレークポイントの代わり
行 = 1 枝番 = 1 Do Until Cells(行, "B").Value = "" Cells(行, "A").Value = "(" & Left(Cells(行, "B").Value, 1) & ")-" & 枝番
If Cells(行, "B").Value <> Cells(行 + 1, "B").Value Then 枝番 = 1 Else 枝番 = 枝番 + 1 End If
行 = 行 + 1 Loop
End Sub
(もこな2) 2019/12/12(木) 16:33
>もこな2さん
すみません、私の方法では書いているととんでもない量になるため(B列に入る種類が多い)、他に方法があるはずではないかと思い、質問させていただいた次第です。
お二方ありがとうございました。
(VBABAA) 2019/12/12(木) 17:01
次回からは、まっとうなタイトルを書いてください。
(半平太) 2019/12/12(木) 17:48
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.