Raw data that comes in pattern is easy to handle for further
processing.
For example, if you have a data that has final value in
every 7th row, so basically 1 to 6 is not needed and 7th
row is needed, likewise 8th row to 13th row is not needed
and 14th row is needed and the pattern goes on that every 7th
row is the final data from the previous 6 rows.
If the pattern continues, it will be like: 1-6, 7 final
value, 7 -13, 14 final value, 15 to 20, 21 final value, 22 to 27, 28 final
value and the pattern goes on up to hundreds or thousands. It will be time consuming to get every 7th row manually.
For graphical representation it will be like:
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
From the image above every 7th row (green color)
is needed and the rest is discarded.
Other issue comes in if the data has to be processed further
in another sheet, doing this manually is so tedious and prone to error.
This is where VBA or Excel macro comes into play and simplify
the process. The “step” keyword in VBA or even VB.Net programming is quite
handy in this scenario.
Here’s the short VBA code that shorten the process or makes thing simple
and reduce the complexity of doing things manually.
Sub Get_Every_7th_Row()
Dim i, ix As Integer
Dim hold_value
‘specify row 1 in sheet2
ix = 1
For i = 7 To 1648 Step 7
‘optional msgbox to
display whether the code is getting the right cell value
MsgBox
Sheet1.Cells(i, 4).Value
‘Get the cell value every 7th row
Hold_value = Sheet1.Cells(i, 4).Value
‘Transfer the value to sheet2
Sheet2.Cells(ix, 2).Value = hold_value
‘increment the row value in Sheet2
ix = ix + 1
Next i
End Sub
Here’s how the code works:
For i = 7 To 1648 Step 7 'loop to all the values in Sheet1
'step 7 will increment by 7 (7 steps)
‘change 1648 to the
last data in the worksheet
‘the code gets the value every 7th row, just change
the number 7 to any specified required interval
‘store the value in Sheet1 to Hold_value
Hold_value = Sheet1.Cells(i, 4).Value
‘Transfer the value to sheet2 to the value found in sheet1
Sheet2.Cells(ix, 2).Value = hold_value
‘increment the row value in Sheet2 so the value is written
on the next row
ix = ix + 1
That’s it a simple
Macro simplifies everything…till next time..Cheers!
================================
Free Android Apps:
Click links below to find out more:
Excel Keyboard guide:
Heaven's Dew Fall Prayer app for Android :
Catholic Rosary Guide for Android:
Comments
Post a Comment