View Single Post
  #12   Report Post  
Posted to microsoft.public.excel,microsoft.public.excel.programming,microsoft.public.excel.worksheet.functions
Dmitry
 
Posts: n/a
Default Microsoft Visual Basic: Compile error: Sum or Function not defined

Dear Dana DeLouis,
Thanks for your explanations and codes.
Yes, I want to run the Solver code on the same range of cells on 40
different worksheets.
My sheets are with a pattern to their names: for example 95_06 or ДТ_09, two
digits or letters, the underline and two digits.
"Dana DeLouis" сообщил/сообщила в новостях
следующее: ...
Hi. I'm afraid I don't understand, but I'll try to help. I am assuming

you
want to run the Solver code on the same range of cells on 40 different
worksheets. Is that correct?

How to repeat the macro for selected sheets in a Workbook?


For this, I was pointing out the "SelectedSheets" property.
One can hold the Control key and select all 40 sheets.
Or, if the sheets are together, one can select the first sheet, hold the
Shift key, and select the last sheet.

Would I have to type in all the selected sheets names in the Demo2

macro?

Yes. If your sheets were scattered, with no pattern to their names, this
was another method.

How to repeat the macro for a contiguous range of sheets (not all

sheets)

If the sheets are grouped together, this gives us another option.
Suppose the sheets are the first 40 worksheets.

Sub Demo3()
Dim ws As Long
For ws = 1 To 40
Worksheets(ws).Activate
'Solver Code Here...
Next ws
End Sub

If the worksheets that you want to run Solver on begin with a unique name,
here is another option.
Suppose all the sheets that you want to run Solver on begin with "Data",
(ie Data1, Data2, etc...)

Sub Demo4()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
If ws.Name Like "Data*" Then
ws.Activate
'Solver Code Here...
End If
Next ws
End Sub

Hope some of these ideas will work for you problem. :)
--
HTH. :)
Dana DeLouis
Windows XP, Office 2003


"Dmitry" wrote in message
...
Thanks Dana DeLouis for the codes.
Would I have to type in all the selected sheets names in the Demo2

macro?
The selected range includes 40 sheets.
"Dana DeLouis" сообщил/сообщила в новостях
следующее: ...
How to repeat the macro for selected sheets in a Workbook?

Hi. That was for all sheets. Would any ideas here help for selected
sheets?

Sub Demo()
Dim sht
For Each sht In ActiveWorkbook.Windows(1).SelectedSheets
sht.Activate
' Solver here...
Next
End Sub

Sub Demo2()
Dim sht
For Each sht In Array("Sheet1", "Sheet3", "Sheet5")
Worksheets(sht).Activate
' Solver here...
Next
End Sub

--
HTH. :)
Dana DeLouis
Windows XP, Office 2003


"Dmitry" wrote in message
...
Thanks Dana DeLouis.
Does your code repeats for all worksheets in a workbook? I wrote "How
to
repeat the macro for a contiguous range of sheets (not all sheets) in

a
Workbook?" How to repeat the macro for selected sheets in a Workbook?
"Dana DeLouis" сообщил/сообщила в новостях
следующее: ...
Not sure, but see if there are any ideas here that can help.
If not, please post back. :)

Sub Demo()
Dim Sht As Worksheet
For Each Sht In ActiveWorkbook.Worksheets
Sht.Activate
SolverReset
SolverOk "J16", 1, , "F4:I12"
SolverSolve True
Next Sht
End Sub

--
HTH. :)
Dana DeLouis
Windows XP, Office 2003


"Dmitry" wrote in message
...
Thanks Nigel!
How to repeat the macro for a contiguous range of sheets in a

Workbook?
I
call the range contiguous because the range sheets tabs are

contiguous
in
the Workbook.
How to make the macro close the Solver Results window?
"Nigel" сообщил/сообщила в новостях
следующее:
...
Solver is not recognised by the standard Excel object model, add

a
reference
to SOLVER in your VB Editor.

Goto VB Editor (Alt-F11) , select Tools-References then check

the
SOLVER
option.- the SOLVER add in must be installed for this to be
visible.

--
Cheers
Nigel



"Dmitry" wrote in message
...
Hello
I receive:
"Microsoft Visual Basic
Compile error:
Sum or Function not defined" after I have run a macro. I

recorded
the
macro.
The macro code is:
Sub Macro2()
'
' Macro2 Macro
' Macro recorded 24.03.2006 by Dmitry Kopnichev
'
'
Range("J16").Select
SolverOk SetCell:="$J$16", MaxMinVal:=1, ValueOf:="0",
ByChange:="$F$4:$I$12"
SolverSolve
End Sub
All recorded operations work by itself. How to make the macro

run
the
operations?