gpt4 book ai didi

VBA:最多 2 列被发送到第三列

转载 作者:行者123 更新时间:2023-12-04 21:55:51 29 4
gpt4 key购买 nike

我需要从两列中获取最大值并将其发送到第三列。这些列的大小都是统一的,但有时大小会有所不同,但它们都将从同一个单元格开始。例如:

5 8 -

6 2 -

6 5 -

带有破折号的列需要找到其他两个之间的最大值,完成的项目看起来像

5 8 8

6 2 6

6 5 6

我尝试录制宏,但它使用了不好的 ActiveCell。我希望这两列是,比如说,从 C10 开始的任何有值的东西,以及从 D10 开始的所有有值的东西,以及发送到 E10 的最大值。

这是我记录的内容,试图用公式填充目标单元格:

ActiveCell.FormulaR1C1 = "=MAX(RC[-2],RC[-1])"
Selection.AutoFill Destination:=Range("E10:E300"), Type:=xlFillDefault

最佳答案

这是您的代码的一个很好的替代方案,只需确保声明您比较的第一列。该示例适用于 A 列的前 10 个单元格:

Option Explicit

Public Sub SelectMax()


Dim rngRange As Range
Dim rngCell As Range

Set rngRange = Range("A1:A10")

For Each rngCell In rngRange

'Without visible formula in Excel:
rngCell.Offset(0, 2) = WorksheetFunction.Max(rngCell, rngCell.Offset(0, 1))
'With visible formula in Excel
rngCell.Offset(0, 2).FormulaR1C1 = "=MAX(RC[-2],RC[-1])"

Next rngCell

End Sub

该示例在 Excel 中创建了一个可见的公式。如果要忽略公式,请删除第二条注释后的行,公式将不会出现。

关于VBA:最多 2 列被发送到第三列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45080191/

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