| 
    
     |  | こんばんは。 
 >'最終行の取得
 >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)
 
 にしてみてください。
 
 やりたいことと違っていたらすみません。
 
 |  |