最終行の下のセルに追記するoffsetでエラーが出る理由と対処法

セルの操作

スポンサーリンク


スポンサーリンク

セルの最終行にデータを追加記述できるはずが

ユーザーフォームでTextBoxに入力した文字や数字をCommandButtonをクリックするたびに自動的にセルの最終行に転記できるようにするoffsetでエラーがでてしまったことありませんか?詳しい原因は私には分からないのですが、今まで使っていたプログラムを新しく作成しようと思ったエクセルにコピーしたのにエラー!こんな画面が出ました!

調べても分からずじまい。なぜなら他のエクセルで使えるのでコード自体に間違えはないはずなので。

図1はもともと使っていたエクセルで図2が新しく作ろうとしているエクセルですが見比べてみると表のセルの場所が違います。

図1

 

図2

 

見比べてみたら、ワークシートの方に原因?転記したい表の位置?

尚、VBAのコードはコピーしてセルの位置だけA1・B1に変えただけ。

Private Sub CommandButton1_Click()
Range(“A1”).End(xlDown).Offset(1, 0).Value = TextBox1.Value
Range(“B1”).End(xlDown).Offset(1, 0).Value = TextBox2.Value
End Sub

エラーの出ない図1のもともと使っているエクセルは、A列と1行目は使っていませんがエラーの出る図2は使用しています。

どうやらこれが原因だったようです。未だ理由分からず。

エラーになるのがイヤなので念のために、空白になるセルB1・C1・D1・E1・F1には白色の文字で数字の「0」を入れてあります。

こんな単純な方法ですが、新しいエクセルも図1のようにA列と1行目を見た目は使わないように表を移動しコードもB1・C1に変えると、何の問題もなくコードが動くようになりました。
スポンサーリンク

波乗りアヒル
波乗りアヒル

ご覧いただきありがとうございます。

ブログランキングに登録しています。

少しでもお役に立てれば幸いで、参考になったようでしたら応援よろしくお願いします。


Microsoft Officeランキング

ユーザーフォームを使えばこんなに便利に早く作業が終わりますよ
波乗りアヒル
波乗りアヒル

エクセルの勉強お疲れ様です。ちょっとひと休みしませんか?