If structure

L

LiAD

Hi,

Please could some-one give me the If structure to use for VB. Something
very trivial such as

if cell 0<ag4<=25 do a4*3
else if ag4>25 do a4*10
else do nothing
end

I would like to get the structure then I can try and build the rest of code.

Thanks
LiAD
 
J

Jacob Skaria

Sub Macro1()

Dim varTemp As Variant

varTemp = Range("AG4")

If varTemp > 0 And varTemp <= 25 Then
MsgBox varTemp * 3
ElseIf varTemp > 25 Then
MsgBox varTemp * 10
End If

End Sub

If this post helps click Yes
 
P

p45cal

LiAD;470320 said:
Hi,

Please could some-one give me the If structure to use for VB.
Something
very trivial such as

if cell 0<ag4<=25 do a4*3
else if ag4>25 do a4*10
else do nothing
end

I would like to get the structure then I can try and build the rest of
code.

Thanks
LiAD
or:Sub blah()
Select Case Range("AG4")
Case Is > 25
x = Range("A4") * 10
Case Is > 0
x = Range("A4") * 3
End Select
End Sub
 
L

LiAD

Hi,

Thanks for this.

When i try to combine this with an autofill code I'm getting a 1004 error -
autofill method of range class failed, its fails on this line:

Range("P217:AC218").AutoFill Destination:=Range("P217:AC" & lnglastRow)

of this code:

Sub Deletemeveryquickly()

Dim varTemp As Variant
varTemp = Range("AF4")
If varTemp > 0 And varTemp <= 25 Then

Dim lnglastRow As Long
lnglastRow = ActiveSheet.Range("C217").End(xlDown).Row
If lnglastRow > 265 Then lnglastRow = 265
Range("P217:AC218").AutoFill Destination:=Range("P217:AC" & lnglastRow)

ElseIf varTemp > 25 Then
MsgBox varTemp * 10
End If

End Sub


Any ideas why that would be failing there?

Thanks
LiAD
 
J

Jacob Skaria

It should be
Range("P217:AC217").AutoFill Destination:=Range("P217:AC" & lnglastRow)

instead of
Range("P217:AC218").AutoFill Destination:=Range("P217:AC" & lnglastRow)

Also check out the value of lngLastRow..

If this post helps click Yes
 
L

LiAD

I'm looking to copy both lines at a time though, hence the P217 to AC218. I
need one blank line , then one formula lien, repeating, hence why I need both.

Is this not possible?
 
J

Jacob Skaria

Place a message box and see whether lnglastRow is less than or equal to 217;
o otherwise your code should work fine

If this post helps click Yes
 
L

LiAD

Its faulting actually because of the fact that I have alternate empty and
full rows. If I change the code to P218 to AC219 then it will fill in and
stop at row 220, although it should fill in (or i would like it to fill in)
to row 228 in this case.

I guess it needs to search for two empty rows before stopping?

Thanks
 
J

Jacob Skaria

Try Macro1 from the previous post which gets the last row from bottom....If
that do not suit your requirement then the only way is to loop through cells
and get the last row..

If this post helps click Yes
 
Top