microsoft_excel:macros:copy_formulae_down_on_a_sheet
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
microsoft_excel:macros:copy_formulae_down_on_a_sheet [2021/08/04 14:05] – peter | microsoft_excel:macros:copy_formulae_down_on_a_sheet [2021/08/04 15:08] (current) – removed peter | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Microsoft Excel - Macros - Copy formulae down on a sheet ====== | ||
- | |||
- | |||
- | <code excel> | ||
- | ' Copy formulae down on the Test1 sheet. | ||
- | Sub Copy_Formulae_Down() | ||
- | |||
- | Dim mycell As Variant | ||
- | Dim lastrow_Test1 As Long | ||
- | Dim Pmt_Curr As Variant | ||
- | Dim FX_Rate As Variant | ||
- | |||
- | |||
- | |||
- | ' Ask user. | ||
- | If ctrl_ask_before_running_subroutine = True Then | ||
- | If MsgBox(" | ||
- | End If | ||
- | |||
- | |||
- | ' Update StatusBar. | ||
- | Application.StatusBar = "Copy formulae down..." | ||
- | |||
- | |||
- | With Workbooks(wb_name) | ||
- | | ||
- | With .Sheets(" | ||
- | | ||
- | ' Activate the Test1 sheet. | ||
- | .Activate | ||
- | | ||
- | | ||
- | ' Get how many rows of data have been loaded into the sheet. | ||
- | lastrow_Test1 = .Cells(Rows.Count, | ||
- | ' Prevent line 2 being deleted - as this contains the formulae which need coping down later. | ||
- | If lastrow_Test1 < 3 Then | ||
- | lastrow_Test1 = 3 | ||
- | End If | ||
- | | ||
- | | ||
- | ' Ensure that FX_Rate has a default value. | ||
- | 'For Each mycell In Workbooks(my1042Rec).Sheets(" | ||
- | For Each mycell In .Range(" | ||
- | If Not mycell Like " | ||
- | Next mycell | ||
- | | ||
- | | ||
- | ' Copy using autofill. | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | | ||
- | ' Copy using a resize. | ||
- | ' Destination is lastrow -1 as need to exclude header row. | ||
- | 'Dim rngSource As Range | ||
- | 'Dim rngTarget As Range | ||
- | ' | ||
- | ' | ||
- | ' | ||
- | | ||
- | | ||
- | ' Ensure that Payment Currency is set to something. | ||
- | For Each Pmt_Curr In .Range(" | ||
- | If RTrim(LTrim(Pmt_Curr)) = "" | ||
- | Next Pmt_Curr | ||
- | | ||
- | | ||
- | ' Ensure that the FX Rate is set to a valid number. | ||
- | For Each FX_Rate In .Range(" | ||
- | If IsNumeric(FX_Rate) = False Then FX_Rate.Value = 1 | ||
- | Next FX_Rate | ||
- | | ||
- | | ||
- | ' Calculations. | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | | ||
- | ' Now copy and paste formula ranges as values to speed up the file processing. | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | | ||
- | ' Select A1. | ||
- | ScrollTo ActiveSheet.name, | ||
- | | ||
- | End With | ||
- | End With | ||
- | |||
- | | ||
- | ' Clear all objects. | ||
- | Set mycell = Nothing | ||
- | Set Pmt_Curr = Nothing | ||
- | Set FX_Rate = Nothing | ||
- | |||
- | End Sub | ||
- | </ | ||
- | |||
- | or | ||
- | |||
- | <code excel> | ||
- | ' Copies formulae down on the Sheet1 sheet. | ||
- | Sub Copy_Formulae_Down() | ||
- | |||
- | Dim lastrow_Sheet1 As Long | ||
- | |||
- | |||
- | | ||
- | ' Ask user. | ||
- | If ctrl_ask_before_running_subroutine = True Then | ||
- | If MsgBox(" | ||
- | End If | ||
- | |||
- | |||
- | ' Update StatusBar. | ||
- | Application.StatusBar = "Copy Formulae down..." | ||
- | |||
- | |||
- | With Workbooks(wb_name) | ||
- | | ||
- | With .Sheets(" | ||
- | |||
- | ' Activate the sheet. | ||
- | .Activate | ||
- | |||
- | ' Get how many rows of data have been loaded into the sheet. | ||
- | lastrow_Sheet1 = .Cells(Rows.Count, | ||
- | ' Prevent line 2 being deleted - as this contains the formulae which need coping down later. | ||
- | If lastrow_Sheet1 < 3 Then | ||
- | lastrow_Sheet1 = 3 | ||
- | End If | ||
- | |||
- | | ||
- | ' Copies formulae down. | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | |||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | .Range(" | ||
- | .Range(" | ||
- | .Range(" | ||
- | | ||
- | End With | ||
- | End With | ||
- | End Sub | ||
- | </ | ||
microsoft_excel/macros/copy_formulae_down_on_a_sheet.1628085946.txt.gz · Last modified: 2021/08/04 14:05 by peter