问题描述
我正在尝试让单元格 K21
根据填充到单元格 H21
中的数据填充百分比回报。
但是,当稍后填充单元格 I21
时,我希望单元格 K21
中的百分比回报基于单元格 I21
中的此数据。
除此之外,我还希望输入 I21 的值复制并填充单元格 H21
。
我已经设法使用 VBA 来完成复制部分,但是它没有完成上面详述的第一部分。
这是我在单元格 K21 中使用的当前公式:
=IF(COUNT(I21)=1,SUM((I21-D21)/((D21+I21)/2)*1),"")
如果有人能提出任何改变,那就太好了。
这是当前的 VBA :
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
With Target
If .Count > 1 Then Exit Sub
If Not Intersect(Range("C:C"),.Cells) Is nothing Then
Application.EnableEvents = False
If IsEmpty(.Value) Then
.Offset(0,-1).ClearContents
Else
With .Offset(0,-1)
.NumberFormat = "dd mmm yy"
.Value = Date
End With
End If
Application.EnableEvents = True
End If
End With
With Target
If .Count > 1 Then Exit Sub
If Not Intersect(Range("I:I"),7).ClearContents
Else
With .Offset(0,7)
.NumberFormat = "dd mmm yy"
.Value = Date
End With
End If
Application.EnableEvents = True
End If
End With
Const sCell As String = "I2" ' Source First Cell
Const dCol As Variant = "H" ' Destination Column Id (String or Index)
Dim irg As Range ' Intersect Range
Dim cOffset As Long ' Column Offset
With Range(sCell)
Set irg = Intersect(.Resize(.Worksheet.Rows.Count - .Row + 1),Target)
If irg Is nothing Then Exit Sub
cOffset = Columns(dCol).Column - .Column
End With
Dim arg As Range ' Current Area of Intersect Range
Dim cel As Range ' Current Cell in Current Area of Intersect Range
For Each arg In irg.Areas
For Each cel In arg.Cells
If Not IsError(cel.Value) Then
cel.Offset(,cOffset).Value = cel.Value
End If
Next cel
Next arg
End Sub
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)