我有一些用户每天手动输入报告系统生成的一个 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
否则也可以。根据需要进行更改。