こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

VBAのセル空白探しは??????多々仕様なども含めて迷っている部分があるので助けてください

VBAで入力チェッカーを作っているのですが、仕様の部分でなやんでいます。

Private Sub CommandButton1_Click()

Dim i As Long
lastRow = Range("A65536").End(xlUp).Row

For i = 10 To lastRow
If Range("A" & i).Value = "" Then
Range("A" & i).Value = ???
Exit For
End If
Next i

End Sub

USERがあるセルにデータを入力するとA列に5行ごと自動に値が入ります。
しかし、入力忘れで5行飛ばしたりはたまた10行空白が出来る場合があります。
その際のチェッカーの役割なのですが。。。
したから行を見ていってA10~最終行までの間でどこか空白があったら下から空白を探し空白箇所から5個上のセルの値を基本的にコピーをしていれる。
もし5個上のセルにも無かったら10個上みたいにやりたいのですがどうしたらよいでしょうか?

投稿日時 - 2009-01-30 01:00:20

QNo.4672970

すぐに回答ほしいです

質問者が選んだベストアンサー

う~ん、よくわかりません
>USERがあるセルにデータを入力するとA列に5行ごと自動に値が入ります。
自動に値が入力されるのに
>しかし、入力忘れで5行飛ばしたりはたまた10行空白が出来る場合があります。
空白ができるの??
入力忘れのチェッカーを作ればよいのでは
そもそも、なぜ5行なのか、1行に出来ないほどデータが多いの
見た目重視なら、表示シートとデータシートに分けたら、如何でしょう

>もし5個上のセルにも無かったら10個上みたいにやりたいのですがどうしたらよいでしょうか?

Private Sub CommandButton1_Click()

Dim i As Long
lastRow = Range("A65536").End(xlUp).Row

For i = 10 To lastRow
If Range("A" & i).Value = "" Then

For ii = i - 5 To 1 Step -5
If Range("A" & ii).Value <> "" Then
Range("A" & i).Value = Range("A" & ii).Value
Exit For
End If
Next ii

Exit For
End If
Next i

End Sub

詳細がわからないので、一例です

投稿日時 - 2009-01-30 01:40:34

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

5行飛ばしで入力させるやり方をやめればよいのではないでしょうか?

行が多い→複数ページにまたがり見づらい→オペミスが起こりやすい

入力用のシートを作り、1行ごとに入力させ、入力データをもとに、5行一組のシートにVBAで転写すれば、抜けは起こらないですし、単純な処理の繰り返しですみますよ。

投稿日時 - 2009-01-30 08:56:08

ANo.2

VBAでの入力チェックをするには?
http://okwave.jp/qa4670360.html

とは条件が変更されたのでしょうか?

>USERがあるセルにデータを入力するとA列に5行ごと自動に値が入ります。
>しかし、入力忘れで5行飛ばしたりはたまた10行空白が出来る場合があります。
>その際のチェッカーの役割なのですが。。。
入力ミスのチェックではなく、入力ミスを起こさない方法を取る事も検討すべきかと感じますけど。

投稿日時 - 2009-01-30 03:20:05

あなたにオススメの質問