2017-04-26 58 views
0

我有一個宏按鈕分配給Excel表格末尾的形狀。 它打開用於向表中添加數據的用戶表單。將形狀移動到最後一行

問題是,形狀不會隨着每個新條目而向下移動,並最終位於表格的頂部。

形狀被設置爲與電池的舉動,但也有未插入實際的行,只是數據添加到表的末尾..

我怎樣才能使它與第一個空行與Excel的VBA移動?

+0

您應該在詢問之前表現出努力。我建議你閱讀[問]。 –

+0

對不起,我不是母語爲英語的人,我會用我的語言寫完美的。你對文本的改變對我來說沒有什麼意義...... 感謝您對它進行編輯,對不起,我很匆忙。 –

回答

0

將此代碼放置在標準模塊上,並在將數據寫入工作表後,調用此代碼將按鈕(形狀)放置到第一個空行。 根據您的要求進行更改。

Sub MoveButton() 
Dim ws As Worksheet 
Dim lr As Long 
Dim buttonCell As Range 
Dim shp As Shape 
Set ws = Sheets("Sheet1") 'Sheet where shape is inserted 
lr = ws.Cells(Rows.Count, 1).End(xlUp).Row + 1 'first empty row in column A 
Set buttonCell = ws.Cells(lr, "A") 'setting the cell where button will be placed 
Set shp = ws.Shapes("myShape") 'name of the shape is "myShape", change it as per your requirement 
'set the shape dimensions 
With shp 
    .Left = buttonCell.Left 
    .Top = buttonCell.Top 
End With 
End Sub 
+0

Aww,謝謝。 完美作品 –

+0

不客氣Daniel!很高興它的工作。 – sktneer