• 締切済み

EXCEL 指定範囲内の空白セルに特定数だけ文字を入力するマクロ教えてください。 

マクロ初心者です。 指定範囲内の空白セルに特定数だけ文字を入力するマクロを考えていますが、まったくわかりません。どなたか教えていただけますか? 詳細内容 (1)下記のような空白セルを含む範囲内        A B C D       1  A君       2       3A君  B君       4  C君  (2)別セルでA君に1追加するとA君が表示上追加される        A B C D       1  A君  A君←どこでも空白セルならいい       2       3A君  B君       4  C君 

みんなの回答

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

元の範囲がA1:D4 カウントするデータの題目 F1:H1 ... A君 B君 C君など カウントが F2:H2 設定値が F3:H3 といったセル範囲なら Sub m()   Dim r1 As Range, r2 As Range   Dim r As Range, bFlag As Boolean   ' カウントをループする   For Each r1 In Range("F2:H2")     ' 設定値を取得     Set r2 = r1.Offset(1)     ' 設定値が違うならループ     Do While r1.Value <> r2.Value       ' forループを抜けたときのエラー判定用フラグ       bFlag = False       ' 元データの範囲をループ       For Each r In Range("A1:D4")         ' 最初に見つかったセルへ記入         If r.Value = "" Then           ' カウンタの上の行 F1:H1にデータがある           r.Value = r1.Offset(-1).Value           ' 記入したのでフラグをセット           bFlag = True           Exit For         End If       Next       ' フラグが立っていなかったらエラー       If bFlag = False Then         MsgBox "記入できるセルがありません"         Exit Sub       End If     Loop   Next End Sub # 字下げには全角スペースを使用しています

FUKUYAMA28
質問者

補足

ご回答ありがとうございます。お教えいただいた内容で試しているのですが、設定値というのは、どの様な値の事を言うのでしょうか?範囲、カウントと入力し、設定値がわからないため適当な数字を入れたのですが、全てA君となり最後に”記入できるセルがありません”と表示されてしまします。設定値の意味をお教えください。

  • sometime7
  • ベストアンサー率45% (18/40)
回答No.1

空白セルに数値を入力した後マクロを実行し数値を任意の文字列に置き換えると言うことですね?(1=A君 2=B君 3=C君 みたいな感じ?的はずしてるかも。。) マクロの記憶で置き換え動作を記憶させてみてはどうでしょうか? ツール⇒マクロ⇒新しいマクロの記憶(名前は適当に) で記憶開始にして(先にセルに数値入力しといてくださいね)、 置き換えしたいセル範囲を選択し、編集⇒検索と置換を実行し1=A君⇒実行 2=B君⇒実行 3=C君⇒実行 で置き換え終了し、 ツール⇒マクロ⇒マクロ記憶終了 で完了です。 後は数値を適当に入力しまくってツール⇒マクロ⇒マクロ実行 でさっきの記憶を実行すれば置き換わります。 どこまでご存知かわからないので手っ取り早い方法書きました。 ご参考までに。。。

FUKUYAMA28
質問者

補足

早速のご回答ありがとうございます。説明不足でした。申し訳ございません。もう少し詳細に言いますと (1)下記のセル範囲で  A  B  C  D 1   A君 2         C君 3A君 B君    C君 4   C君 B君 (2)下記の別カウンタがあります。 A君 B君 C君  2  2  3 (3)、(1)の表の文字列の個人ごとの数と(2)のカウンタの個人毎の数字は同じです。 (4)そこで(2)のカウンタを下記の様にA君に一つ追加した場合に A君 B君 C君  3  2  3 (5)表も下記の様に文字列を一つ追加させたいのです。  A  B  C  D 1   A君    A君←追加させるセルは空白のセルなら 2         C君 どこでもいいです。 3A君 B君    C君 4   C君 B君 マクロはマクロの記憶をさせること程度しか出来ない初心者です。 よろしくお願いします。        

関連するQ&A

専門家に質問してみよう