0

多くのセクションを含むExcelファイルがあります。1 つのマクロを作成し、各セクションに 1 つのボタンを配置しました。そのボタンにそのマクロマクロにボタンを接続しました。

 On button click : 
  • 既存の行がコピーされます
  • 新しい行を追加
  • 最初の行の内容を過ぎて

すべてが正常に機能しています。問題は、行をコピーするたびにボタンもコピーされることです。そのボタンをコピーしたくないので、前の行に残す必要があります。またはボタンは最後の行に配置する必要があります。

ここにコードがあります。

Sub Button_AddRow()
Dim b As Object, cs As Integer
ActiveSheet.Unprotect
Set b = ActiveSheet.Buttons(Application.Caller)
b.TopLeftCell.Offset(1).EntireRow.Insert
b.TopLeftCell.Offset(1).EntireRow.Insert

b.TopLeftCell.EntireRow.Select
Selection.Copy
b.TopLeftCell.Offset(1).EntireRow.Select
ActiveSheet.Paste
b.TopLeftCell.EntireRow.Select
Selection.Copy
b.TopLeftCell.Offset(2).EntireRow.Select
ActiveSheet.Paste

ActiveSheet.Cells(b.TopLeftCell.Offset(1).Row, 1).Value = ""

ActiveSheet.Protect

End Sub

ボタンの数を見てください、そこに来て、最後にボタンが1つだけ必要です

いろいろ試しましたが成功しませんでした。

4

2 に答える 2

0

コード内のボタンを参照するのはなぜですか?ActiveCellを使用できます。

Sub Button_AddRow()
   Dim r As Range
   ActiveSheet.Unprotect
   Set r = ActiveCell.EntireRow
   ....

私はあなたの問題が消えると思います。もちろん、ユーザーは最初に「右」の行のどこかをクリックする必要があります。

于 2013-01-03T14:04:54.147 に答える