How to always floating a Command Button on worksheet in Excel?
In some cases, you may need a floating Command Button to keep moving with your worksheet no matter how you scrolling up or down the worksheet. This article will show you method to achieve it.
- Reuse Anything: Add the most used or complex formulas, charts and anything else to your favorites, and quickly reuse them in the future.
- More than 20 text features: Extract Number from Text String; Extract or Remove Part of Texts; Convert Numbers and Currencies to English Words.
- Merge Tools: Multiple Workbooks and Sheets into One; Merge Multiple Cells/Rows/Columns Without Losing Data; Merge Duplicate Rows and Sum.
- Split Tools: Split Data into Multiple Sheets Based on Value; One Workbook to Multiple Excel, PDF or CSV Files; One Column to Multiple Columns.
- Paste Skipping Hidden/Filtered Rows; Count And Sum by Background Color; Send Personalized Emails to Multiple Recipients in Bulk.
- Super Filter: Create advanced filter schemes and apply to any sheets; Sort by week, day, frequency and more; Filter by bold, formulas, comment...
- More than 300 powerful features; Works with Office 2007-2019 and 365; Supports all languages; Easy deploying in your enterprise or organization.
Please do as follows to make a Command Button always floating in worksheet.
1. In the worksheet which contains the Command Button you want it to be floating, right click the sheet tab, and then click View Code from the context menu.
2. In the popping up Microsoft Visual Basic for Applications window, copy and paste the below VBA code into the Code window.
VBA code: Make a Command Button always floating in worksheet
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) On Error GoTo 0 With Cells(Windows(1).ScrollRow, Windows(1).ScrollColumn) CommandButton1.Top = .Top + 100 CommandButton1.Left = .Left + 300 End With End Sub
Note: in the abovde code, CommandButton1 is the button name you want to always keep visible. Please change it to your need.
3. Then press the Alt + Q keys to exit the Microsoft Visual Basic for Applications window.
From now on, the Command Button will always float at the top center of the worksheet with the moving of active clicked cell as below screenshot shown.
- How to save and close active workbook without prompt by a Command Button in Excel?
- How to update or insert (current) date and time by a Command Button in Excel?
- How to use a Command Button to change a specified cell value in Excel?
- How to create a Command Button to copy and paste data in Excel?
- How to use Command Button to save active worksheet as PDF file in Excel?
- How to insert a blank new row automatically by Command Button in Excel?
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
To post as a guest, your comment is unpublished.
To post as a guest, your comment is unpublished.· 5 months agosee it, not working, i'm scrolling down and also command button down, i want to fix on the top of right side of sheet.
To post as a guest, your comment is unpublished.· 5 months agonot working
To post as a guest, your comment is unpublished.· 1 years agoThanks a lot ... It worked...
To post as a guest, your comment is unpublished.· 1 years agoWorks fine for me. Thx
To post as a guest, your comment is unpublished.· 2 years agoThanks its good with cellselecting
To post as a guest, your comment is unpublished.· 2 years agoNot good QA - check your name on the button. If this is what gets published for the Web community to see, what goes in behind the scenes with the code? :-)
To post as a guest, your comment is unpublished.· 2 years agoI was looking for the Command / Option that when i scroll down the Page the selected Text should be float along with it... How can do that ...
Thank you : Indian Booklet
To post as a guest, your comment is unpublished.· 7 months agoMake a TextBox and then move it when selecting change
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
TextBox1.Text = ActiveCell.Value
With Cells(Windows(1).ScrollRow, Windows(1).ScrollColumn)
TextBox1.Top = .Top + 100
TextBox1.Left = .Left + 300