Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 97
Default Grouping values

Hi,

I have a sheet with various materials with different thickness. I want to
group them by 0,03 - 0,02 - 0,01 and others.
I wrote this:

Sub Espessuras()
Dim Esp As Integer 'Thickness article
Dim Espessura As Integer 'Regroup thickness
Dim linhaf As Integer
Dim linha As Integer

Range("A1").Select
Selection.End(xlDown).Select
linhaf = Selection.Row 'devolve o numero da linha

For linha = 2 To linhaf 'inicio do ciclo
Esp = Range("P" & linha).Value 'Espessura artigo descriminado
Rows(linha & ":" & linha).Select ' selecção da linha
If Esp = "0,03" Then
Espessura = "0,03"
ElseIf Esp = "0,02" Then
Espessura = "0,02"
ElseIf Esp = "0,01" Then
Espessura = "0,01"
ElseIf Esp < "0,03" And _
Esp < "0,02" And _
Esp < "0,01" Then
Espessura = "1"
End If
Range("Q" & linha).Value = Espessura
Next linha ' proxima linha
End Sub
****
Unfortunatly, it doesn't work! I give me only "1" as a result for all
thickness no matter if they are 0,03, 0,02 or 0,01.

Can someone help me on this one. Tkanks a lot.
Barbara

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,302
Default Grouping values

Hi Barbara,

Try something like:

'=============
Public Sub Espessuras()
Dim Esp As Double 'Thickness article
Dim Espessura As Double 'Regroup thickness
Dim linhaf As Long
Dim linha As Long

linhaf = Range("A1").End(xlDown).Row

For linha = 2 To linhaf
Esp = Range("P" & linha).Value
If Esp = "0.03" Then
Espessura = "0.03"
ElseIf Esp = "0.02" Then
Espessura = "0.02"
ElseIf Esp = "0.01" Then
Espessura = "0.01"
Else
Espessura = "1"
End If
Range("Q" & linha).Value = Espessura
Next linha
End Sub
'<<=============

Note that VBA uses the US decimal separator rather
than a comma.



---
Regards,
Norman




"Barbara" wrote in message
...
Hi,

I have a sheet with various materials with different thickness. I want to
group them by 0,03 - 0,02 - 0,01 and others.
I wrote this:

Sub Espessuras()
Dim Esp As Integer 'Thickness article
Dim Espessura As Integer 'Regroup thickness
Dim linhaf As Integer
Dim linha As Integer

Range("A1").Select
Selection.End(xlDown).Select
linhaf = Selection.Row 'devolve o numero da linha

For linha = 2 To linhaf 'inicio do ciclo
Esp = Range("P" & linha).Value 'Espessura artigo descriminado
Rows(linha & ":" & linha).Select ' selecção da linha
If Esp = "0,03" Then
Espessura = "0,03"
ElseIf Esp = "0,02" Then
Espessura = "0,02"
ElseIf Esp = "0,01" Then
Espessura = "0,01"
ElseIf Esp < "0,03" And _
Esp < "0,02" And _
Esp < "0,01" Then
Espessura = "1"
End If
Range("Q" & linha).Value = Espessura
Next linha ' proxima linha
End Sub
****
Unfortunatly, it doesn't work! I give me only "1" as a result for all
thickness no matter if they are 0,03, 0,02 or 0,01.

Can someone help me on this one. Tkanks a lot.
Barbara



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 97
Default Grouping values

Thank you very much 4 your early reply. It works just fine as I didn't put
the " ".
If Esp = 0.03 Then
Espessura = 0.03
ElseIf Esp = 0.02 Then
Espessura = 0.02
ElseIf Esp = 0.01 Then
Espessura = 0.01
Else
Espessura = 0
End If

Now..... Is there a way to change this:
Else
Espessura = 0

with this:
Else
Espessura = "Others"


I tryed but as it is text, it gives me an error!
Thank you very much.
Barbara

"Norman Jones" wrote:

Hi Barbara,

Try something like:

'=============
Public Sub Espessuras()
Dim Esp As Double 'Thickness article
Dim Espessura As Double 'Regroup thickness
Dim linhaf As Long
Dim linha As Long

linhaf = Range("A1").End(xlDown).Row

For linha = 2 To linhaf
Esp = Range("P" & linha).Value
If Esp = "0.03" Then
Espessura = "0.03"
ElseIf Esp = "0.02" Then
Espessura = "0.02"
ElseIf Esp = "0.01" Then
Espessura = "0.01"
Else
Espessura = "1"
End If
Range("Q" & linha).Value = Espessura
Next linha
End Sub
'<<=============

Note that VBA uses the US decimal separator rather
than a comma.



---
Regards,
Norman




"Barbara" wrote in message
...
Hi,

I have a sheet with various materials with different thickness. I want to
group them by 0,03 - 0,02 - 0,01 and others.
I wrote this:

Sub Espessuras()
Dim Esp As Integer 'Thickness article
Dim Espessura As Integer 'Regroup thickness
Dim linhaf As Integer
Dim linha As Integer

Range("A1").Select
Selection.End(xlDown).Select
linhaf = Selection.Row 'devolve o numero da linha

For linha = 2 To linhaf 'inicio do ciclo
Esp = Range("P" & linha).Value 'Espessura artigo descriminado
Rows(linha & ":" & linha).Select ' selecção da linha
If Esp = "0,03" Then
Espessura = "0,03"
ElseIf Esp = "0,02" Then
Espessura = "0,02"
ElseIf Esp = "0,01" Then
Espessura = "0,01"
ElseIf Esp < "0,03" And _
Esp < "0,02" And _
Esp < "0,01" Then
Espessura = "1"
End If
Range("Q" & linha).Value = Espessura
Next linha ' proxima linha
End Sub
****
Unfortunatly, it doesn't work! I give me only "1" as a result for all
thickness no matter if they are 0,03, 0,02 or 0,01.

Can someone help me on this one. Tkanks a lot.
Barbara




  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,302
Default Grouping values

Hi Barbara,

'----------------
Now..... Is there a way to change this:
Else
Espessura = 0

with this:
Else
Espessura = "Others"


I tryed but as it is text, it gives me an error!
'----------------

Try declaring Espessura as variant:

'=============
Public Sub Espessuras()
Dim Esp As Double 'Thickness article
Dim Espessura As Variant 'Regroup thickness
Dim linhaf As Long
Dim linha As Long
linhaf = Range("A1").End(xlDown).Row

For linha = 2 To linhaf
Esp = Range("P" & linha).Value
If Esp = "0.03" Then
Espessura = "0.03"
ElseIf Esp = "0.02" Then
Espessura = "0.02"
ElseIf Esp = "0.01" Then
Espessura = "0.01"
Else
Espessura = "Other"
End If
Range("Q" & linha).Value = Espessura
Next linha
End Sub
'<<=============


---
Regards,
Norman


  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 97
Default Grouping values

Thank you so much! It works just as I wanted...

Have a nice day.
Barbara

PS:I love these Discussion Groups... They are so helpfull.

"Norman Jones" wrote:

Hi Barbara,

'----------------
Now..... Is there a way to change this:
Else
Espessura = 0

with this:
Else
Espessura = "Others"


I tryed but as it is text, it gives me an error!
'----------------

Try declaring Espessura as variant:

'=============
Public Sub Espessuras()
Dim Esp As Double 'Thickness article
Dim Espessura As Variant 'Regroup thickness
Dim linhaf As Long
Dim linha As Long
linhaf = Range("A1").End(xlDown).Row

For linha = 2 To linhaf
Esp = Range("P" & linha).Value
If Esp = "0.03" Then
Espessura = "0.03"
ElseIf Esp = "0.02" Then
Espessura = "0.02"
ElseIf Esp = "0.01" Then
Espessura = "0.01"
Else
Espessura = "Other"
End If
Range("Q" & linha).Value = Espessura
Next linha
End Sub
'<<=============


---
Regards,
Norman



Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Formula help...find values and grouping together... Jambruins Excel Discussion (Misc queries) 3 November 13th 07 03:33 PM
Grouping Corresponding Values Mark Hughes Excel Discussion (Misc queries) 3 May 1st 07 04:59 PM
Grouping Cell Values Together steve65 Excel Discussion (Misc queries) 6 August 16th 06 01:42 AM
Help with grouping values Scott M.[_2_] Excel Programming 1 August 30th 04 03:41 PM
Code for Grouping Text Values in Pivotfield Keith Young Excel Programming 1 July 17th 03 03:14 AM


All times are GMT +1. The time now is 08:52 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"