清除

时间:2017-10-25 18:55:25

标签: excel vba excel-vba excel-formula

我遇到了一些代码问题,我已经为从另一张工作表复制数据的工作表编写了代码。简单地说,单元格A8到I1000左右填充有公式等。基本上这些是通过此代码自动填充来自另一个工作表的数据。

Sub CopyPasteC()

Dim ALastFundRow As Integer
Dim AFirstBlankRow As Integer
Dim wksSource As Worksheet, wksDest As Worksheet
Dim rngStart As Range, rngSource As Range, rngDest As Range

Set wksSource = ActiveWorkbook.Sheets("dt")
Set wksDest = ActiveWorkbook.Sheets("Wr")

On Error Resume Next

'Finds last row of content
ALastFundRow = wksSource.Range("A2").End(xlDown).Row

 'Finds first row without content
AFirstBlankRow = CLastFundRow + 1

'Copy Data
Set rngSource = wksSource.Range("A2:A" & ALastFundRow)

'Paste Data Values
Set rngDest = wksDest.Range("C8:C" & ALastFundRow + 7)

rngSource.Copy

rngDest.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

'Bring back to top of sheet for consistancy
wksDest.Range("C8").Select

End Sub

然而,当dt表空白时,wr表试图将所有这些都拉不成功,因为那里没有任何内容并留下旧数据。

相反,我希望它看起来是空白的,公式完好无损。所以我使用了这段代码:

Sub Deleteallbutformulas()

On Error Resume Next

Range("A8:M500").Select
Selection.SpecialCells(xlCellTypeConstants).ClearContents

End Sub

然而,无论出于何种原因,即使我使用clearcontents,第7行中填充了标签标题的单元格也会向下移动一个单元格到第8行并切换位置,以便第7行现在填充属于第8行的公式。我检查了合并的单元格以及所有并且无法找到使单元格移动的问题。

任何帮助将不胜感激。谢谢!

0 个答案:

没有答案