プロが教えるわが家の防犯対策術!

マクロ初心者です。
指定範囲内の空白セルに特定数だけ文字を入力するマクロを考えていますが、まったくわかりません。どなたか教えていただけますか?

詳細内容

(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君 

A 回答 (2件)

空白セルに数値を入力した後マクロを実行し数値を任意の文字列に置き換えると言うことですね?(1=A君 2=B君 3=C君 みたいな感じ?的はずしてるかも。

。)

マクロの記憶で置き換え動作を記憶させてみてはどうでしょうか?
ツール⇒マクロ⇒新しいマクロの記憶(名前は適当に) で記憶開始にして(先にセルに数値入力しといてくださいね)、
置き換えしたいセル範囲を選択し、編集⇒検索と置換を実行し1=A君⇒実行 2=B君⇒実行 3=C君⇒実行 で置き換え終了し、
ツール⇒マクロ⇒マクロ記憶終了 で完了です。
後は数値を適当に入力しまくってツール⇒マクロ⇒マクロ実行 でさっきの記憶を実行すれば置き換わります。

どこまでご存知かわからないので手っ取り早い方法書きました。
ご参考までに。。。

この回答への補足

早速のご回答ありがとうございます。説明不足でした。申し訳ございません。もう少し詳細に言いますと
(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君

マクロはマクロの記憶をさせること程度しか出来ない初心者です。
よろしくお願いします。




       

補足日時:2009/04/18 18:08
    • good
    • 0

元の範囲が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

# 字下げには全角スペースを使用しています

この回答への補足

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

補足日時:2009/04/21 22:17
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!