C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Excelでユーザーフォームからセル行を上書きしたい

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■95499 / inTopicNo.1)  Excelでユーザーフォームからセル行を上書きしたい
  
□投稿者/ あい (35回)-(2020/08/08(Sat) 13:16:38)

分類:[.NET 全般] 

Excelでセル行を上書きする方法がわかりません。

コード
Private Sub CommandButton1_Click()

With Cells(Rows.Count, 2).End(xlUp)
'セル行はB2指定
 .Offset(1, 0) = ID0'ID0=Textboxです。

End With

Unload UserForm1

End Sub


試したこと
B2セル(空白)に何も入っていないときは文字が入ります。
もう一度ボタンを押すとB3に文字が入ります。

やりたい事

B2セル行に既に入っている文字を上書きさせたいです。

お願いいたします。

Excel2019VBA



引用返信 編集キー/
■95500 / inTopicNo.2)  Re[1]: Excelでユーザーフォームからセル行を上書きしたい
□投稿者/ 魔界の仮面弁士 (2802回)-(2020/08/08(Sat) 13:33:43)
2020/08/08(Sat) 13:39:07 編集(投稿者)

No95499 (あい さん) に返信
> B2セル行に既に入っている文字を上書きさせたいです。

B2 に書き込みたいのなら、
 [B2].Value = ID0
あるいは
 Sheet1.[B2].Value = ID0
などとすれば良いのでは。


> With Cells(Rows.Count, 2).End(xlUp)
これは、最終行の B 列 上で [End] キーを押してから [↑] を押したときの操作ですよね。
http://officetanaka.net/excel/vba/tips/tips130.htm

B列のほぼすべてに値が入っていて、最終行だけが空欄なら、
Cells(Rows.Count, 2) は B1048576 を指し示し、
Cells(Rows.Count, 2).End(xlUp) は B1048575 となります。

B列がほぼ未入力で、B3 と B7 にだけ文字が入っていれば、
Cells(Rows.Count, 2).End(xlUp) は B1 や B3 ではなく、B7 を示します。

B1〜B3 が空欄で、B4〜B1048576 すべてに何かデータが入力されていれば、
Cells(Rows.Count, 2).End(xlUp) は B4 を示します。
引用返信 編集キー/
■95501 / inTopicNo.3)  Re[1]: Excelでユーザーフォームからセル行を上書きしたい
□投稿者/ shu (1230回)-(2020/08/08(Sat) 13:36:38)
No95499 (あい さん) に返信

Range("B2")に値を書けばよいと思います。
提示されたものがどんな動きになるかわかるようなサンプルを以下に貼り付けます。

Sub Test()
    Range("B2") = 199
    
    For i = 1 To 10
        With Cells(Rows.Count, 3).End(xlUp)
            With .Offset(1, 0)
                .Value = i
                Cells(i, 5) = .Address
            End With
        End With
    Next
    

End Sub

引用返信 編集キー/
■95502 / inTopicNo.4)  Re[2]: Excelでユーザーフォームからセル行を上書きしたい
□投稿者/ あい (37回)-(2020/08/08(Sat) 13:54:13)
No95500 (魔界の仮面弁士 さん) に返信
> 2020/08/08(Sat) 13:39:07 編集(投稿者)
>
> ■No95499 (あい さん) に返信
>>B2セル行に既に入っている文字を上書きさせたいです。
>
> B2 に書き込みたいのなら、
>  [B2].Value = ID0
> あるいは
>  Sheet1.[B2].Value = ID0
> などとすれば良いのでは。
>
>
>>With Cells(Rows.Count, 2).End(xlUp)
> これは、最終行の B 列 上で [End] キーを押してから [↑] を押したときの操作ですよね。
> http://officetanaka.net/excel/vba/tips/tips130.htm
>
> B列のほぼすべてに値が入っていて、最終行だけが空欄なら、
> Cells(Rows.Count, 2) は B1048576 を指し示し、
> Cells(Rows.Count, 2).End(xlUp) は B1048575 となります。
>
> B列がほぼ未入力で、B3 と B7 にだけ文字が入っていれば、
> Cells(Rows.Count, 2).End(xlUp) は B1 や B3 ではなく、B7 を示します。
>
> B1〜B3 が空欄で、B4〜B1048576 すべてに何かデータが入力されていれば、
> Cells(Rows.Count, 2).End(xlUp) は B4 を示します。



>Range("B2")に値を書けばよいと思います。
>提示されたものがどんな動きになるかわかるようなサンプルを以下に貼り付けます。

>Sub Test()
> Range("B2") = 199

> For i = 1 To 10
> With Cells(Rows.Count, 3).End(xlUp)
> With .Offset(1, 0)
> .Value = i
> Cells(i, 5) = .Address
> End With
> End With
> Next


>End Sub

>魔界の仮面弁士さん、あい さん
ご回答ありがとうございます。
参考になったコードで無事出来ました。

ありがとうございました。
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ