Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


62918 / 76732 ←次へ | 前へ→

【18414】Re:定義のエラー
回答  名無し  - 04/9/22(水) 22:00 -

引用なし
パスワード
   こんばんは。

>'最終行の取得
>Set LstCell = Worksheets("台帳").Range("A6").End(xlDown)
>If LstCell.Row = 65536 Then
>  LstCell = Worksheets("台帳").Range("A6")
  ↑これがA65536にA6の値を代入してるだけなので、
  
   Set LstCell = Worksheets("台帳").Range("A6")

   にしないとLstCellはA65536のまま

>End If
>If LstCell = Worksheets("台帳").Range("A6") Then
  なので、かならずここを通る
>  lblNo.Caption = 1
>Else
>  lblNo.Caption = LstCell.Value + 1
>End If
>
>'書き込み
↓A65536の下の行はないのでエラー
>With LstCell
>  .Offset(1, 0) = Val(lblNo)
>  .Offset(1, 1) = cName.Value
>End With

A7以下のセルに1,2,3・・・と入れていくんだと思いますが、
参考までにこうするとすっきりするかも。
ただし、A6にタイトルか何かが入力されている必要があります。

With Worksheets("台帳").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
 lblNo.Caption = .Row - 6
 .Value = .Row - 6
 .Offset(0, 1).Value = cName.Value
End With

A6に何も入力されてないなら、A6に適当に値を入れてから
上のコードを実行し、終わったらA6の値をクリアすればいいかと。
もしLstCellを他にも使用してるなら、最初の1行を

Set LstCell = Worksheets("台帳").Cells(Rows.Count, 1).End(xlUp)
With LstCell.Offset(1, 0)

にしてみてください。

やりたいことと違っていたらすみません。

0 hits

【18315】定義のエラー [名前なし] 04/9/21(火) 12:17 質問
【18317】Re:定義のエラー Asaki 04/9/21(火) 12:22 回答
【18318】Re:定義のエラー [名前なし] 04/9/21(火) 12:29 回答
【18322】Re:定義のエラー shousuke 04/9/21(火) 14:39 発言
【18414】Re:定義のエラー 名無し 04/9/22(水) 22:00 回答

62918 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free