ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   numbering items in a column based on a condition (https://www.excelbanter.com/excel-programming/304218-numbering-items-column-based-condition.html)

pacman2k4

numbering items in a column based on a condition
 
I need a procedural method to number a column for an entire worksheet
based upon a condition.

So, if text exists in column B?, then add a sum to A? cell next to it.

Column A Column B
1 Text
2 Text
No Text
3 Text
4 Text

It has to be smart enough to number all columns in all worksheets.

So, if the last number in Worksheet A was 50, then the next number in
Worksheet B would start at 51.


---
Message posted from http://www.ExcelForum.com/


Bob Kilmer

numbering items in a column based on a condition
 
I find your problem statement a little confusing, but here is a brute force
approach to numbering rows in A where text occurs in B.

Option Explicit

Sub Main()
Dim wks As Worksheet
Dim cell As Range
Dim count As Long
Dim oldStatusBar As Boolean
count = 0
Application.ScreenUpdating = False
oldStatusBar = Application.DisplayStatusBar
Application.DisplayStatusBar = True

For Each wks In Worksheets
For Each cell In Intersect(wks.Columns("B").Cells, wks.UsedRange)
If Len(cell.Text) 0 Then
count = count + 1
cell.Offset(0, -1).Value = count
Application.StatusBar = count
End If
Next cell
Next wks

Application.StatusBar = False
Application.DisplayStatusBar = oldStatusBar
Application.ScreenUpdating = True
End Sub


"pacman2k4 " wrote in message
...
I need a procedural method to number a column for an entire worksheet
based upon a condition.

So, if text exists in column B?, then add a sum to A? cell next to it.

Column A Column B
1 Text
2 Text
No Text
3 Text
4 Text

It has to be smart enough to number all columns in all worksheets.

So, if the last number in Worksheet A was 50, then the next number in
Worksheet B would start at 51.


---
Message posted from http://www.ExcelForum.com/





Bob Kilmer

numbering items in a column based on a condition
 
Following doesn't choke on blank sheets:

Option Explicit

Sub Main()
Dim wks As Worksheet
Dim cell As Range
Dim rng As Range
Dim count As Long
Dim oldStatusBar As Boolean
count = 0
Application.ScreenUpdating = False
oldStatusBar = Application.DisplayStatusBar
Application.DisplayStatusBar = True

For Each wks In Worksheets
Set rng = Intersect(wks.Columns("B"), wks.UsedRange)
If Not rng Is Nothing Then
For Each cell In rng.Cells
If Len(cell.Text) 0 Then
count = count + 1
cell.Offset(0, -1).Value = count
Application.StatusBar = count
End If
Next cell
End If
Next wks

Application.StatusBar = False
Application.DisplayStatusBar = oldStatusBar
Application.ScreenUpdating = True
End Sub

"pacman2k4 " wrote in message
...
I need a procedural method to number a column for an entire worksheet
based upon a condition.

So, if text exists in column B?, then add a sum to A? cell next to it.

Column A Column B
1 Text
2 Text
No Text
3 Text
4 Text

It has to be smart enough to number all columns in all worksheets.

So, if the last number in Worksheet A was 50, then the next number in
Worksheet B would start at 51.


---
Message posted from http://www.ExcelForum.com/





pacman2k4[_2_]

numbering items in a column based on a condition
 
Worked like a charm. Where should I send a check to

--
Message posted from http://www.ExcelForum.com



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

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