如何查找最后一行并将公式粘贴到列的最后一个单元格

时间:2020-09-08 15:06:32

标签: excel vba excel-formula

需要帮助找到列的最后一行并将H2公式粘贴到最后一列,直到数据出现在最后一行。 在下面的代码中使用,但未成功。同样,代码也会在H列中自动添加列名中间值。如果单元格H2包含公式mid(G2,20,2)的示例将给出P2值。该公式应复制到该列的最后使用的行,然后粘贴该公式。

请根据您的方便更改源文件的目的地。

如果您能帮助我,我会很开心的。

谢谢 问候, 阿米特·辛格(Amit Singh)

代码已截断:-

Sub Timecalculation()

Dim wb As Workbook
Dim wks As Worksheet
Dim objList As ListObject
Dim LastRow As Long
Dim sht As Worksheet
    
Set wb = Workbooks.Open("C:\Users\611892636\OneDrive - BT Plc\Desktop\Nestle JML\Mansi Work\Test\SourceData.xlsx")
wb.Sheets("Data").Activate
For Each wks In ActiveWorkbook.Worksheets
    For Each objList In wks.ListObjects
        objList.Unlist
     Next objList
Next wks
Range("H1").Select

'adding column for Mid Value
Set sht = ActiveSheet
Columns("H:H").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("H1").Value = "Mid Value"
ActiveSheet.Range("H2").Select
ActiveCell.FormulaR1C1 = "=Mid(RC[-1],20,2)"
Selection.Copy
Range("H3").Select
LastRow = Range("H" & Rows.Count).End(xlUp).Row
Range("H2:H" & LastRow).Formula = "=&H2"
Range("I1").Select

ActiveSheet.AutoFilterMode = False

'Adding column for time calculate
Columns("I:I").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("I1").Value = "Time Cal"
Range("J1").Select

'Adding column for time in Minutes
Columns("J:J").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("J1").Value = "Time In Minutes"
Application.DisplayAlerts = False


End Sub

1 个答案:

答案 0 :(得分:0)

通常,您可以使用以下代码找到最后一个:

Range("H2").End(xlDown)

祝你好运

在Amit发表评论后编辑

显然,这似乎是解决方案:

Range("H2:H" & Cells(Rows.Count, 1).End(xlUp).Row).Formula = "=Mid(RC[-1],20,2)"