ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Varying a macro based on a cell's value (https://www.excelbanter.com/excel-programming/319353-varying-macro-based-cells-value.html)

Neal Zimm

Varying a macro based on a cell's value
 
I'm just getting into macros and VB in excel. Don't really know VB but am
picking it up as I go along. Am familiar with some other programming
languages.

Question 1:
Please help with a 'simple' (?) way to start a macro based on the value in a
cell.

Example: In a macro that is looking at column G, starting from row 1 and
going down, as soon as the letter "z" is found in the first position, I want
to execute another macro.

Question 2: What is a way (or more if there is more than one way) to get a
cell's value, into a macro to vary the performance of that macro?

Example: In a specfic cell whose reference I know, say r1c1, will be a
number, say 40. In a macro, I want to do something 40 times.

Thanks so much, Neal Z

Tim Williams

Varying a macro based on a cell's value
 

"Neal Zimm" wrote in message
...
I'm just getting into macros and VB in excel. Don't really know VB
but am
picking it up as I go along. Am familiar with some other programming
languages.

Question 1:
Please help with a 'simple' (?) way to start a macro based on the
value in a
cell.

Example: In a macro that is looking at column G, starting from row 1
and
going down, as soon as the letter "z" is found in the first
position, I want
to execute another macro.


dim r as range

set r=thisworkbook.sheets("sheetname").range("G1")

do while r.value<""
if r.value like "z*" then
'call your code here
end if
set r=r.offset(1,0)
loop




Question 2: What is a way (or more if there is more than one way) to
get a
cell's value, into a macro to vary the performance of that macro?

Example: In a specfic cell whose reference I know, say r1c1, will
be a
number, say 40. In a macro, I want to do something 40 times.

dim z as long, x as long

z=thisworkbook.sheets("sheetname").range("A1").val ue
for x=1 to z
'do your thing
next z

Hope this helps,
Tim.


Thanks so much, Neal Z




Patrick Molloy[_2_]

Varying a macro based on a cell's value
 


Option Explicit
Sub Test_1()
MsgBox Answer_1("z", Range("G:G"))
End Sub
Function Answer_1(what As String, where As Range) As String
Dim found As Range
Set found = where.Find(what)
If found Is Nothing Then
Answer_1 = "not found"
Else
Answer_1 = found.Address
End If
End Function

Patrick Molloy
Microsoft Excel MVP
Sub Answer_2()
Dim index As Long
If IsNumeric(Range("A1")) Then
For index = 1 To Range("A1").Value
' do whatever
Next
End If
End Sub


"Neal Zimm" wrote:

I'm just getting into macros and VB in excel. Don't really know VB but am
picking it up as I go along. Am familiar with some other programming
languages.

Question 1:
Please help with a 'simple' (?) way to start a macro based on the value in a
cell.

Example: In a macro that is looking at column G, starting from row 1 and
going down, as soon as the letter "z" is found in the first position, I want
to execute another macro.

Question 2: What is a way (or more if there is more than one way) to get a
cell's value, into a macro to vary the performance of that macro?

Example: In a specfic cell whose reference I know, say r1c1, will be a
number, say 40. In a macro, I want to do something 40 times.

Thanks so much, Neal Z


Neal Zimm

Varying a macro based on a cell's value
 
Thanks Patrick, will try it out. Neal

"Patrick Molloy" wrote:



Option Explicit
Sub Test_1()
MsgBox Answer_1("z", Range("G:G"))
End Sub
Function Answer_1(what As String, where As Range) As String
Dim found As Range
Set found = where.Find(what)
If found Is Nothing Then
Answer_1 = "not found"
Else
Answer_1 = found.Address
End If
End Function

Patrick Molloy
Microsoft Excel MVP
Sub Answer_2()
Dim index As Long
If IsNumeric(Range("A1")) Then
For index = 1 To Range("A1").Value
' do whatever
Next
End If
End Sub


"Neal Zimm" wrote:

I'm just getting into macros and VB in excel. Don't really know VB but am
picking it up as I go along. Am familiar with some other programming
languages.

Question 1:
Please help with a 'simple' (?) way to start a macro based on the value in a
cell.

Example: In a macro that is looking at column G, starting from row 1 and
going down, as soon as the letter "z" is found in the first position, I want
to execute another macro.

Question 2: What is a way (or more if there is more than one way) to get a
cell's value, into a macro to vary the performance of that macro?

Example: In a specfic cell whose reference I know, say r1c1, will be a
number, say 40. In a macro, I want to do something 40 times.

Thanks so much, Neal Z


Neal Zimm

Varying a macro based on a cell's value
 
Thanks Tim, will try it out. Neal


"Tim Williams" wrote:


"Neal Zimm" wrote in message
...
I'm just getting into macros and VB in excel. Don't really know VB
but am
picking it up as I go along. Am familiar with some other programming
languages.

Question 1:
Please help with a 'simple' (?) way to start a macro based on the
value in a
cell.

Example: In a macro that is looking at column G, starting from row 1
and
going down, as soon as the letter "z" is found in the first
position, I want
to execute another macro.


dim r as range

set r=thisworkbook.sheets("sheetname").range("G1")

do while r.value<""
if r.value like "z*" then
'call your code here
end if
set r=r.offset(1,0)
loop




Question 2: What is a way (or more if there is more than one way) to
get a
cell's value, into a macro to vary the performance of that macro?

Example: In a specfic cell whose reference I know, say r1c1, will
be a
number, say 40. In a macro, I want to do something 40 times.

dim z as long, x as long

z=thisworkbook.sheets("sheetname").range("A1").val ue
for x=1 to z
'do your thing
next z

Hope this helps,
Tim.


Thanks so much, Neal Z






All times are GMT +1. The time now is 11:07 AM.

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