one of the easiest, & most visually interesting (i think) ways is to
insert an autoshape into the spreadsheet. format it any color you
want, add text saying like "Click me to run summary", and then (most
important) format it & in the properties tab uncheck the "print"
box...... this way it's there, visible to your users, but doesn't
print.
then right click the shape & choose "assign macro" & choose this one.
now everytime they click it, your macro will run.
you can use a Forms or ControlToolbox command button, but they are
kind of dull & boring-looking. ha ha

hth!
susan
On Jun 5, 5:41 pm, Sarah <S...@discussions.microsoft.com> wrote:
> I am looking to create a macro button which when pressed will complete the
> following macro. (This will be used by other employess...fyi)
>
> Sub Summary_cells_from_Different_Workbooks_1()
> Dim FileNameXls As Variant
> Dim SummWks As Worksheet
> Dim ColNum As Integer
> Dim myCell As Range, Rng As Range
> Dim RwNum As Long, FNum As Long, FinalSlash As Long
> Dim ShName As String, PathStr As String
> Dim SheetCheck As String, JustFileName As String
> Dim JustFolder As String
>
> ShName = "Info"
> Set Rng = Range("A2:K2")
>
> 'Select the files with GetOpenFilename
> FileNameXls = Application.GetOpenFilename(filefilter:="Excel Files,
> *.xl*", _
> MultiSelect:=True)
>
> If IsArray(FileNameXls) = False Then
> 'do nothing
> Else
> With Application
> .Calculation = xlCalculationManual
> .ScreenUpdating = False
> End With
>
> 'Add a new workbook with one sheet for the Summary
> Set SummWks = Workbooks.Add(1).Worksheets(1)
>
> 'The links to the first workbook will start in row 2
> RwNum = 1
>
> For FNum = LBound(FileNameXls) To UBound(FileNameXls)
> ColNum = 1
> RwNum = RwNum + 1
> FinalSlash = InStrRev(FileNameXls(FNum), "\")
> JustFileName = Mid(FileNameXls(FNum), FinalSlash + 1)
> JustFolder = Left(FileNameXls(FNum), FinalSlash - 1)
>
> 'copy the workbook name in column A
> SummWks.Cells(RwNum, 1).Value = JustFileName
>
> 'build the formula string
> JustFileName = WorksheetFunction.Substitute(JustFileName, "'",
> "''")
> PathStr = "'" & JustFolder & "\[" & JustFileName & "]" & ShName
> & "'!"
>
> On Error Resume Next
> SheetCheck = ExecuteExcel4Macro(PathStr & Range("A1").Address(,
> , xlR1C1))
> If Err.Number <> 0 Then
> 'If the sheet not exist in the workbook the row color will
> be Yellow.
> SummWks.Cells(RwNum, 1).Resize(1, Rng.Cells.Count + 1) _
> .Interior.Color = vbYellow
> Else
> For Each myCell In Rng.Cells
> ColNum = ColNum + 1
> SummWks.Cells(RwNum, ColNum).Formula = _
> "=" & PathStr & myCell.Address
> Next myCell
> End If
> On Error GoTo 0
> Next FNum
>
> ' Use AutoFit to set the column width in the new workbook
> SummWks.UsedRange.Columns.AutoFit
>
> MsgBox "The Summary is ready, save the file if you want to keep it"
>
> With Application
> .Calculation = xlCalculationAutomatic
> .ScreenUpdating = True
> End With
> End If
> End Sub