如果行中的下一个单元格在范围内,则插入公式(如果为空白,但冻结前一个单元格的数据/删除公式)

如果行中的下一个单元格在范围内,则插入公式(如果为空白,但冻结前一个单元格的数据/删除公式)

我有一些用户每天手动输入报告系统生成的一个 Excel 中的数据,并将这些数据输入到数百个单元格中。报告生成的 Excel 格式是静态的,所以我想将这些数据映射到他们输入的单元格中。问题是数据是一个移动的目标。

如果范围为空,我希望将公式(例如 ='data'B2)输入到范围中的第一个单元格中。下次运行时,如果行中的第一个单元格中有数据,则需要冻结该数据/删除公式,然后将公式输入到该行的下一个空单元格中。如能得到任何帮助,我将不胜感激!

从伪代码上看它有点像这样:

Range = a1-a9
If cell a1 blank then = Data sheet a1
If not blank then freeze cell data/ remove formula and enter formula = Data sheet a1

(如有必要,依此类推(除非有更好的代码))

直到范围内的所有单元格都已满

答案1

根据您概述的内容,我可以采取以下最佳措施:

Sub test()
Dim src As Worksheet
Set src = Sheets("Sheet3")
Dim dest As Worksheet
Set dest = Sheets("Sheet5")
Dim n As Long
Dim j As Integer
j = dest.Range("A" & Rows.Count).End(xlUp).Row + 1


For i = 1 To j
    If dest.Cells(i, 1) = "" Then
        dest.Cells(i, 1).Formula = "=Sheet3!A1"
        Else:  n = dest.Cells(i, 1)
        dest.Cells(i, 1) = n
    End If
Next
End Sub

如果A1为空白,则可行,A1:A2否则也可以。根据需要进行更改。

相关内容