ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   Problem with accessing names across sheets (https://www.excelbanter.com/excel-discussion-misc-queries/80118-problem-accessing-names-across-sheets.html)

[email protected]

Problem with accessing names across sheets
 
Hi-

Having a problem with accessing the "alpha1" name below (defined in
sheet "Data") while running this simple macro in sheet "Calc" - excel
gives me a runtime 1004 error:

(fyi - never used VB before this, so that may be the problem ;)

Essentially, there is no problem accessing both "step_inp" or "stat1"
since the macro is run from the "Calc" worksheet, but it breaks on the
line marked with the ** - how do I fix this?

Begin Code:
-----------------

Sub Permute()

Dim Step As Double
Dim Inpt As Range
Dim Loc As Range

Sheets("Calc").Range("step_inp").Select
Step = ActiveCell.Value
Set Inpt = Sheets("Data").Range("alpha1")
Set Loc = Sheets("Calc").Range("stat1")

**Inpt.Select**
ActiveCell.Value = -1 * Step

For i = 0 To Round(80 / (Step * 100))
Inpt.Select
ActiveCell.Value = ActiveCell.Value + Step
Loc.Select
Selection.Copy
Loc.Offset(i + 1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats,
Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Next i

End Sub
________
End Code

Any help is much appreciated.

Thanks,
-Alex


exceluserforeman

Problem with accessing names across sheets
 
I would assign an integer to be the step value. "Step" is an Excel VBA/VB
Type (word) and a conflict may occur.
dim intStep as integer
intStep =activecell.value

Assign an a variant to:
Round(80 / (Step * 100))

dim varRounder

varRounder= Round(80 / (Step * 100))

Other people may help with the rest

..............................................

" wrote:

Hi-

Having a problem with accessing the "alpha1" name below (defined in
sheet "Data") while running this simple macro in sheet "Calc" - excel
gives me a runtime 1004 error:

(fyi - never used VB before this, so that may be the problem ;)

Essentially, there is no problem accessing both "step_inp" or "stat1"
since the macro is run from the "Calc" worksheet, but it breaks on the
line marked with the ** - how do I fix this?

Begin Code:
-----------------

Sub Permute()

Dim Step As Double
Dim Inpt As Range
Dim Loc As Range

Sheets("Calc").Range("step_inp").Select
Step = ActiveCell.Value
Set Inpt = Sheets("Data").Range("alpha1")
Set Loc = Sheets("Calc").Range("stat1")

**Inpt.Select**
ActiveCell.Value = -1 * Step

For i = 0 To Round(80 / (Step * 100))
Inpt.Select
ActiveCell.Value = ActiveCell.Value + Step
Loc.Select
Selection.Copy
Loc.Offset(i + 1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats,
Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Next i

End Sub
________
End Code

Any help is much appreciated.

Thanks,
-Alex




All times are GMT +1. The time now is 07:17 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com