Recently, I was working on creating a leave tracker template in Google Sheets.
One of the interactive features that I wanted to create was a spin button (or scroll bar) functionality, where the user can simply click on it and the value of a cell change.
While it’s easy to insert and use spin buttons or a scroll bar in Excel, unfortunately, the same is not available in Google Sheets.
So I had to take the longer route of using two shapes and adding some Google Script at the back end.
This is what I created using it:
Click here to access this Google Sheets document!
In this tutorial, I will show you the exact steps that I followed to create this kind of spin button functionality in Google Sheets.
- Spin Button in Google Sheets
- Inserting triangles that look like Spin Button
- Writing the Google Script
- Increment Number by 1:
- Decrement Number by 1:
- Assign the Google Script to the shape
- Sumit
There are three parts to creating a spin button in Google Sheets:
- Inserting triangles that look like Spin Button
- Writing the Google Script
- Assign the Google Script to the shape
Inserting triangles that look like Spin Button
Here are the steps to insert shapes (triangles) in Google Sheets:
- Go to the Insert
tab.
- Click on
‘Drawing’.
- In the
Drawing dialog box, click on the Shape
icon.
- Go to ‘Shapes’ and select the shape that you want to insert. I have used ‘Flowchart: Extract’ and ‘Flowchart:
Merge’.
- Click anywhere in the dialog box working area and it will insert the triangle. You can resize and format the shape here.
- Click on Save and Close.
This will insert the shape in the Google Sheets.
You can resize it and place it where ever you want on the sheet.
The result of this section would be something as shown below. Here I have the two triangles (the yellow cell is the one I will link to these triangles in the next two sections).
Writing the Google Script
Now we need to add a Google Script code for each button.
To do this, we will create two functions – ‘Increment’ and ‘Decrement’.
Here are the codes for each function:
Increment Number by 1:
function increment() { SpreadsheetApp.getActiveSheet().getRange('C5').setValue(SpreadsheetApp.getActiveSheet().getRange('C5').getValue() + 1); }Decrement Number by 1:
function decrement() { SpreadsheetApp.getActiveSheet().getRange('C5').setValue(SpreadsheetApp.getActiveSheet().getRange('C5').getValue() - 1); }Here are the steps to add these scripts to the backend of Google Sheets:
- Go to the Tools
tab.
- Click on Script
Editor.
- In the Script Editor backend,
copy paste both the function in the Code.gs
window.
- Click on the save
icon.
- Close the Script Editor.
The above steps create two new functions in the Google Sheets.
Now we need to assign these functions to the shapes (triangles) that we inserted.
Assign the Google Script to the shape
Here are the steps to assign a script to an object:
- Select the triangle to which you want to assign the increment function.
- Click on the three dots at the top right of the triangle shape.
- Click on the assign
script.
- In the Assign Script dialog box, manually enter the name of the function (‘increment’ in this
case).
- Click OK.
Repeat the same process for the other triangle, and assign ‘decrement’ script to it.
That’s it!
Now when you click on the triangle with ‘Increment’ function assigned to it, it will increment the number value in cell C5 by 1. Similarly, clicking on the other triangle will decrement in the value in cell C5 by 1.
Additional Notes:
- You can assign the script to any shape using the above steps.
- While running a script, it may take Google Sheets a couple of
seconds to execute the script. You may see a ‘Running Script’ prompt when it’s running. once done, you will see a ‘Finished Script’
prompt’.
So this is how you can create a spin button in Google Sheets (some people also call it a spinner) and use it to increment/decrement the value by a specific margin.
Spreadsheet Expert at Productivity Spot | Website | + posts
Google Sheets and Microsoft Excel Expert.