ここから本文です

エクセルVBAに関してです。 B11~G11を結合し、そこには「品名」と入力してあっ...

t38********さん

2017/10/412:17:58

エクセルVBAに関してです。

B11~G11を結合し、そこには「品名」と入力してあって、その下のB~Gは単独のセルがある表があります(20行目まであります)。

B12がブランクならば、「A」と入力する。
B12が埋まっていたら、B13に、B13も埋まっていたらB14に・・・
とAを入力するマクロを組みたくて、

Sub A()

With Range("B10")

.End(xlDown).Offset(1) = "A"

End With

End Sub

と組んでみましたが、エラーが起き、うまくいきません。
B10をB11にしてもうまくいきません。

どうしたら、上のような処理をするマクロになるでしょうか?
お詳しい方教えてください。
よろしくお願いします。

閲覧数:
77
回答数:
5
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

msk********さん

2017/10/413:17:32

>エラーが起き、うまくいきません。

⇒エラーの内容や状況を明示しましょう。
コードからは、「B11~G11を結合し、「品名」と入力」しているのならエラーにならず、B12しか入力されない、又、B11を基準にすると以下のセルが空欄ならエラーになる思いますがどうなんでしょうね。

マクロ起動毎に入力の一例です。
Sub sampleA()
With Range("B11")
.Offset(Application.CountA(.Resize(9))) = "A"
End With
End Sub

質問した人からのコメント

2017/10/4 17:24:13

B12だけ入力されず、B12に何か入力されていれば、B13以降は自分が思うように入力されました。

いただいたコードを入れたら、うまく動きました。

ベストアンサーはとても悩みましたが、エラー内容を指摘してくださったので。
今後はエラー内容も気にしようと思いました。

とても助かりました!他の皆さんも、ありがとうございました。

ベストアンサー以外の回答

1〜4件/4件中

並び替え:回答日時の
新しい順
|古い順

meg********さん

2017/10/413:08:25

途中にも表があって最終行から上に検索が出来ないなら、

If Range("B20").Value <> "" Then Exit Sub
Range("B20").End(xlUp).Offset(1).Value = "A"

こんな感じとか?

hdu********さん

2017/10/413:01:59

Range("B10").End(xlDown)はB列の最終行です。最終行の次の行は存在しないので、その様なエラーが出ます。

お求めの様な、B列10行目以降の行の未入力先頭行は

cells(rows.Count,"B").end(xlup)

で、求める事が出来ます。最終行から見て一番手前の最終行を探します。その表の最終位置から探しても良いですね。

プロフィール画像

カテゴリマスター

tra********さん

2017/10/412:58:06

一例です。
行数が少ないのでこんなんで十分でしょう。

Sub sample()
Dim rng As Range
For Each rng In Range("B12:G20")
If rng.Value = "" Then
rng.Value = "A"
Exit For
End If
Next rng
End Sub

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

the********さん

2017/10/412:50:53

B11:B20に空白があったらAを入れる、という考えではなくですか?

Sub sample()

Range("B12:B20").SpecialCells(xlCellTypeBlanks).Select
Selection.Value = "A"

End Sub

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる