珍しい問題があります。列 A:J の範囲のデータでいっぱいのスプレッドシートがあります。さらに列 K を追加し、スタッフの名前を入力します。アイデアは、各スタッフ メンバーにスプレッドシートの割り当てが与えられるということです。割り当ての数値はすでに別のシートで計算されており、このスプレッドシートの列 M と N で参照されています。M2 以下にはスタッフ名が含まれ、N2 以下には対応する割り当てが含まれています。
私の問題は、列 K にこのデータを入力する方法を考え出すことです。たとえば、APerson (M2) には 23(N2) の割り当てがあり、K2 (行 1 がヘッダー) に APerson の名前を入力したいと考えています。その後、APerson2(M3) に 15(N3) を割り当て、K25 から開始します。ループが含まれる気がしますが、私の VBA の知識は不完全であり、見回すと増分番号で満たされるループしか見つかりません。
編集:ファイルを添付していないことをお詫びします。仕事でstackoverflowがブロックされているため、これは最初に電話から投稿されました。作業中のコードを印刷したので、できるだけ早く入力します。
編集 2: これまでのコードは次のとおりです。割り当てが機能しています-一種の。
Sub Allocate()
name1 = Range("M2").Value
countto = Range("N2").Value
Range("K1").Select
Do
ActiveCell.Offset(1, 0).Select
Loop Until IsEmpty(ActiveCell.Value)
For Counter = 1 To countto
ActiveCell.Value = name1
ActiveCell.Offset(1, 0).Select
Next Counter
name2 = Range("M3").Value
countto2 = Range("N3").Value
Range("K1").Select
Do
ActiveCell.Offset(1, 0).Select
Loop Until IsEmpty(ActiveCell.Value)
For Counter2 = 1 To countto2
ActiveCell.Value = name2
ActiveCell.Offset(1, 0).Select
Next Counter2
End Sub
これを自動的に 'name1'、'name2' などを多数 (20 人以上) のスタッフに手動で入力しなくても自動的に割り当てる方法や、より効率的にするためのヒントはありますか?