Button Problem

E

EmmieLou

I have this macro that places a submit button on my worksheet.
It works the first time correctly. Everytime it is used after that it fails
to repeat the first macro, "RawdatatoSummary" and then follows through with
the second macro "Module1.Save". How do I get the Button Macro to repeat the
"RawdatatoSummary" and then "Module1Save" over many times?


ActiveSheet.Buttons.Add(156.75, 36.75, 73.5, 22.5).Select
ActiveSheet.Shapes("Submit").Select
Selection.Characters.Text = "Submit"
With Selection.Characters(Start:=1, Length:=8).Font
.Name = "Arial"
.FontStyle = "Regular"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
Selection.OnAction = "RawDatatoSummary"
Selection.OnAction = "Module1.Save"
 
J

Jim Thomlinson

A button can only have one OnAction. you need to acll a main calling
procedure taht calls the two individual macros...

Selection.OnAction = "Module1.DoStuff"

In Module 1 add
sub DoStuff
call RawDatatoSummary
call SaveStuff
end sub

In module 1 change your existing macro frm Save to SaveStuff or something
else as Save is a reserved word in VBA...
 
E

EmmieLou

Thanks so much. I am still having a little trouble. Is it possible to
combine these two macros? I have functions for each action in SubSaveStuff.
Sub RawDatatoSummary()
Rows("3:3").Select
Selection.Copy
Sheets("Summary").Select
Rows("3:3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Sheets("Raw Data").Select
Columns("I:I").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Summary").Select
Columns("I:I").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Sheets("Raw Data").Select
Range("A8:H10000").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Summary").Select
Range("A8").Select
ActiveSheet.Paste
End Sub

AND

Sub SaveStuff()
Dim PedigreeID As Integer
Dim SurveyID As Integer

'Get the corresponding row from the Pedigrees sheet - insert a new
pedigree if necessary
PedigreeID = GetPedigreeRow()

'Get the corresponding row from the Surveys sheet - insert a new survey
if necessary
SurveyID = GetSurveyRow(PedigreeID)

'Insert count information
Call InsertRecords(SurveyID)

Call ClearForm
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top