Excel宏:记录一个更少的单元格特定?

Roc*_*oal 2 excel vba excel-vba

我已经记录了一个简单的宏,我需要将其制作成通用的,所以它可以用于任何行和最后四个单元格.这是我的重新版本:

Selection.End(xlToRight).Select
Selection.End(xlToRight).Select
Selection.End(xlToRight).Select
Selection.End(xlToRight).Select
Selection.End(xlToLeft).Select
Range("Q12:T12").Select
Range("T12").Activate
Selection.Copy
Run Code Online (Sandbox Code Playgroud)

结束子

我如何能

  • 让它进入ROW的最后一个单元格我将光标放入?
  • 将单元格特定范围更改为一个范围,只是意味着:选择此单元格并在左侧选择3个单元格?

... choose.copy我想我几乎可以管理:)

非常感谢Mike

Ale*_*x P 5

这将复制您单击的任何行中的最后四个单元格:

Sub CopyLastFourCellsOfRow()
Dim lastCell As Range
Dim rngToCopy As Range

Set lastCell = Selection.End(xlToRight)
Set rngToCopy = Range(lastCell, lastCell.Offset(0, -3))

rngToCopy.Copy

End Sub
Run Code Online (Sandbox Code Playgroud)

更新 - 如果您的行已破坏数据,那么最佳方法是从电子表格的最后一列(第IV列)开始,然后再返回.要实现此目的lastCell,请使用以下内容替换该语句:

Set lastCell = Cells(Selection.Row, 256).End(xlToLeft)
Run Code Online (Sandbox Code Playgroud)