首先,我有多个带有值和公式的工作表。我已经使用VBA提取了干净的数据,这很好用。例如,“Sheet1”,从第3行到第100行和H到K列是我拥有值的地方。现在,在第3行和B到F列上有一个公式,与H到K列上的值相关联。我无法将第3行复制并将公式粘贴到工作表的最后一行。
其次,我有12个工作表。它们与“Sheet1”具有不同的值和公式。但我希望所有12个工作表都像“Sheet1”一样执行相同的操作。
以下是我用来复制和粘贴我的值的代码(但它只复制一行。我希望它可以到达工作表的底部):
其次,我有12个工作表。它们与“Sheet1”具有不同的值和公式。但我希望所有12个工作表都像“Sheet1”一样执行相同的操作。
以下是我用来复制和粘贴我的值的代码(但它只复制一行。我希望它可以到达工作表的底部):
Sub formula_format (data_sheet As String, row_num_start As Integer, column_num_start As Integer, row_num_end As Integer, column_num_end As Integer)
Sheets(data_sheet).Select
For Row = row_num_start To row_num_end
If Cells(Row, column_num_start).Value2 = "" Then
Range(Cells(Row - 1, column_num_start), Cells(Row - 1, column_num_end)).Copy
ActiveSheet.Cells(Row, column_num_start).Select
ActiveCell.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
ActiveCell.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Exit For
End If
Next Row
End Sub
这段代码将第一行复制并粘贴到下一行。我需要继续执行到工作表的最后一行。
提前致谢。抱歉帖子有点长,这是我第一次发帖!
IF
块中使用了Exit For
,那么代码将在第一次行和列等于""时退出For循环,从而停止代码。因此,我的第一个建议是删除Exit For
。 - Scott Holtzman