首页 > 解决方案 > 为什么我的代码中不能使用多种“NextFree = Range”语言?

问题描述

我正在 Excel 中编写 VBA 代码以将公式从最后一行数据复制到它下面的行,然后复制最后一行(现在是倒数第二行)并将其作为值粘贴到它的位置。我想对多张纸执行此操作。问题是,在第一张纸正常工作后,它会在下一张纸上出错(可能是其余的纸)。

该代码适用于第一个工作表,但是当它移动到下一个工作表时,Excel 给我一个“运行时错误'1004':未找到单元格”错误消息“。当我调试错误时,第 3 行中的第 2 行下面的段落是什么给了我问题。我必须做什么才能让这段代码适用于同一个工作簿中的多个工作表?

Sheets("BrentSkew").Select
NextFree = Range("A2:A" & 
Rows.Count).Cells.SpecialCells(xlCellTypeBlanks).Row
Range("A" & NextFree - 1).Select
Range(Selection, Selection.End(xlToRight)).Select
Application.CutCopyMode = False
Selection.Copy
NextFree = Range("A2:A" & 
Rows.Count).Cells.SpecialCells(xlCellTypeBlanks).Row
Range("A" & NextFree).Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, 
SkipBlanks _
    :=False, Transpose:=False

Sheets("BrentSkew").Select
NextFree = Range("A2:A" & 
Rows.Count).Cells.SpecialCells(xlCellTypeBlanks).Row
Range("A" & NextFree - 2).Select
Range(Selection, Selection.End(xlToRight)).Select
Application.CutCopyMode = False
Selection.Copy
NextFree = Range("A2:A" & 
Rows.Count).Cells.SpecialCells(xlCellTypeBlanks).Row
Range("A" & NextFree - 2).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks 
_
    :=False, Transpose:=False

Sheets("LLSSkew").Select
'the line below is the problem
NextFree = Range("A2:A" & 
Rows.Count).Cells.SpecialCells(xlCellTypeBlanks).Row
Range("A" & NextFree - 1).Select
Range(Selection, Selection.End(xlToRight)).Select
Application.CutCopyMode = False
Selection.Copy
NextFree = Range("A2:A" & 
Rows.Count).Cells.SpecialCells(xlCellTypeBlanks).Row
Range("A" & NextFree).Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, 
SkipBlanks _
    :=False, Transpose:=False

Sheets("LLSSkew").Select
NextFree = Range("A2:A" & 
Rows.Count).Cells.SpecialCells(xlCellTypeBlanks).Row
Range("A" & NextFree - 2).Select
Range(Selection, Selection.End(xlToRight)).Select
Application.CutCopyMode = False
Selection.Copy
NextFree = Range("A2:A" & 
Rows.Count).Cells.SpecialCells(xlCellTypeBlanks).Row
Range("A" & NextFree - 2).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks 
_
    :=False, Transpose:=False

标签: excelvba

解决方案


推荐阅读