gpt4 book ai didi

excel - Excel 中的宏 - 如何替换#Value!与前一个单元格中的值

转载 作者:行者123 更新时间:2023-12-03 03:27:14 25 4
gpt4 key购买 nike

我有一列数字数据,但某些单元格包含#VALUE!。我想更换具有#VALUE 的单元格!与同一列但前一行的单元格的值。我尝试了宏代码,并获得了编译器错误代码 13。下面是代码。如果您能指出正确的方向,我将不胜感激。

Sub ReplaceErrorValues()
'
' ReplaceErrorValues Macro
' Macro replaces #Value! with the value of the cell in the same column and previous row
'

'Step 1: Declare variables
Dim priceRange As Range
Dim priceCell As Range


'Step 2: Define the Target Range
Set priceRange = Range("D4:D1357")


'Step 3: Start looping through the Days range
For Each priceCell In priceRange

'Step 4: Do something with every price cell
If priceCell.Value = #Value! Then
'Step 5: Create a temporary variable
Dim previousValue As Double
priceCell.Select
priceCell.Offset(-1, 0).Range("A1").Select
previousValue = ActiveCell.Value
priceCell.Select
ActiveCell.Value = previousValue
End If

'Step 6: Get the next cell in the Target range
Next priceCell


End Sub

最佳答案

以下内容应该可以完成您在“第 4 步”中想要执行的操作

'Step 4: Do something with every price cell
If priceCell.Value = CVErr(xlErrValue) Then
priceCell.Value = priceCell.Offset(-1, 0).Value
End If

CVErr(xlErrValue)返回 Variant/Error值相当于 Excel 单元格中显示的 #VALUE! .

<小时/>

如果您想检查任何错误类型,而不仅仅是#VALUE! ,你可以使用

'Step 4: Do something with every price cell
If IsError(priceCell.Value) Then
priceCell.Value = priceCell.Offset(-1, 0).Value
End If

IsError是一个函数,用于测试传递给它的值以查看它是否是任何 Excel 错误类型( #VALUE!#N/A#DIV/0!#NAME? 等)并返回 True如果是这样的值,或者 False如果不是。

关于excel - Excel 中的宏 - 如何替换#Value!与前一个单元格中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47043149/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com