View Single Post
  #6   Report Post  
Posted to microsoft.public.excel.programming
childofthe1980s childofthe1980s is offline
external usenet poster
 
Posts: 122
Default Taking the 51st Line and Multiplying by 2

Actually, you can disregard my first and second reply here. I was able to
get your programming to work.

But, that one issue on the row numbers remains.

I do not mean row number 51. I mean the 51st line in the spreadsheet. This
could, for all we know, be row number 399 for example.

Thanks, again, Benjamin!

"Benjamin" wrote:

Will something like this work, it pastes the answer to columns G & H?




Option Explicit
'Code by Benjamin

Sub Average_X_2()

Dim Count As String
Dim lastrow As Integer

Dim CurrentValueofC As String
Dim CurrentValueofE As String





Count = "51" 'Start at Row 51
lastrow = ActiveWorkbook.Sheets(1).Cells(65536, 3).End(xlUp).Row
MsgBox lastrow


Do Until Count lastrow
CurrentValueofC = ThisWorkbook.Sheets(1).Cells(Count, 3).Value
'Count, 7 'Change the * to the Column you
want to paste to a=1, b=2, etc
ThisWorkbook.Sheets(1).Cells(Count, 7).Value = CurrentValueofC * 2


CurrentValueofE = ThisWorkbook.Sheets(1).Cells(Count, 5)
'Count, 8 'Change the * to the Column
you want to paste to a=1, b=2, etc
ThisWorkbook.Sheets(1).Cells(Count, 8).Value = CurrentValueofE * 2

Count = Count + 1
Loop

End Sub

"childofthe1980s" wrote:

Hello:

Below, I have a macro in VBA that takes rows of data and averages them.

Columns C and E contain the averages.

I need to add programming that takes every row of averages from the 51st row
to the last row of data and multiplies them by 2, long story short.

Keep in mind that the spreadsheet that results from the programming below
does not contain contiguous row numbers. The first row of data, as of this
moment, is "5". The next row is "9", then "13", then "17", "21", "25". Last
month, the first row number was "4", then "7", then "12", .....

So, there is no consistency with the row numbers. That's what makes
throwing in a calculation of "times 2" for the 51st row onward complicated.

Anyway, what programming do I add to tell Excel to take the 51st and greater
rows of data in the spreadsheet and multiply the values in the records of
columns C and E by 2?

Selection.Subtotal GroupBy:=1, Function:=xlAverage, TotalList:=Array(3,
5) _
, Replace:=True, PageBreaks:=False, SummaryBelowData:=True
ActiveSheet.Outline.ShowLevels RowLevels:=2
Selection.Sort Key1:=Range("E2"), Order1:=xlDescending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False,
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Columns("C:C").Select
Selection.NumberFormat = "0"
Columns("E:E").Select
Selection.NumberFormat = "0"
Columns("A:A").ColumnWidth = 17.86
Columns("A:A").EntireColumn.AutoFit
Range("A1").Select

childofthe1980s