For Each with Select Case

  • Thread starter Thread starter helmekki
  • Start date Start date
H

helmekki

ColumA ColumB

i have problem in this code, the integers in columB do not appea
correctly
i tried to use this code to first check if A1*.005 is between 0---.
then put
b.value =

Sub Tax4SalesTax()
Dim c As Range
Dim b As Range

For Each b In Range("B1:B5")
For Each c In Range("A1:A5")
Select Case c * 0.005
Case 0 To 0.5
b.Value = 0.5
Case 0.5 To 1
b.Value = 1
Case 1 To 1.5
b.Value = 1.5
Case 1.5 To 2
b.Value = 2
Case 2 To 2.5
b.Value = 2.5
Case 2.5 To 3
b.Value = 3
End Select
Next
Next
End Sub

i appreciate any hel
 
So you're just checking the stuff in column A. if it meets a criterion, you
change the value in column B (of the same row)?

Sub Tax4SalesTax2()
Dim c As Range
For Each c In Range("A1:A5")
Select Case c * 0.005
Case 0 To 0.5: c.Offset(0, 1).Value = 0.5
Case Is <= 1: c.Offset(0, 1).Value = 1
Case Is <= 1.5: c.Offset(0, 1).Value = 1.5
Case Is <= 2: c.Offset(0, 1).Value = 2
Case Is <= 2.5: c.Offset(0, 1).Value = 2.5
Case Is <= 3: c.Offset(0, 1).Value = 3
End Select
Next c
End Sub

I'm not sure what you wanted to happen when c*.005 was equal to 1.
 
I would probably skip the VB code on this one and just use an Excel
CEILING formula. In column B
=Ceiling(A1,.5)
Then drag over the cells in column B you want this formula applied to.
 

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

Back
Top