抵消dynamic范围的数据

我遇到了一些似乎非常基本的问题。 我与vba的经验本质上是没有的。 我有一个电子表格,其中包含使用我制作的脚本从某些csv文件导入的数据。 脚本读取数据,然后创build主电子表格或覆盖以前的主电子表格。 我想在同一个脚本中移动这个数据一列。 随着更多数据的添加,每次更新电子表格时,需要移动的数据范围都会发生变化。 我在代码的末尾添加了以下内容,但是我无法使其工作。

Set myRange = Range(Cells(1, 1).Address(), Cells(lastRow, lastColumn).Address()) Range("myRange").Offset(,1) 

我究竟做错了什么?

编辑:这是我现在拥有的。 我一直跑到第14行的“运行时错误1004”。

 Dim myRange As Range Dim DefPath As String Dim lastRow As Long Dim lastColumn As Long Dim lRow As Long Dim lCol As Long DefPath = Application.DefaultFilePath Workbooks.Open Filename:=DefPath & "\SEM Master File" lRow = Cells(Rows.Count, 1).End(xlUp).Row lCol = Cells(1, Columns.Count).End(xlToLeft).Column Set myRange = Range(Cells(1, 1), Cells(lastRow, lastColumn)) myRange.Offset(, lastColumn).Value = myRange.Value 

第二编辑:这是我迄今为止。 它编译和运行,而不是像我预期的那样将所有内容都移动到一列上,而是将列的副本放在已经在电子表格中的数据旁边的列中。

 Sub Offset_Data() Dim myRange As Range Dim DefPath As String Dim lastRow As Long Dim lastColumn As Long DefPath = Application.DefaultFilePath Workbooks.Open ("SEM Master File.xlsx") lastRow = Cells(Rows.Count, 1).End(xlUp).Row lastColumn = Cells(1, Columns.Count).End(xlToLeft).Column Set myRange = Range(Cells(1, 1), Cells(lastRow, lastColumn)) myRange.Offset(, lastColumn).Value = myRange.Value End Sub 

 Sub Offset_Data() Dim myRange As Range Dim DefPath As String Dim lastRow As Long Dim lastColumn As Long DefPath = Application.DefaultFilePath Workbooks.Open ("SEM Master File.xlsx") lastRow = Cells(Rows.Count, 1).End(xlUp).Row lastColumn = Cells(1, Columns.Count).End(xlToLeft).Column Set myRange = Range(Cells(1, 1), Cells(lastRow, lastColumn)) myRange.Offset(, lastColumn).Value = myRange.Value myRange.ClearContents End Sub