gpt4 book ai didi

vba - 宏/VBA : Clear cells in a row based on values in a column, 并循环遍历整个列

转载 作者:行者123 更新时间:2023-12-04 20:42:07 25 4
gpt4 key购买 nike

我正在尝试在 excel 中编写一个宏,该宏将识别行中的第一个值(A2),然后搜索行的其余部分以清除任何具有更大值的单元格(C2:DGA2)。我想进行设置,以便程序循环遍历列(A2:A400)中的每一行,并清除相应的值。

我尝试使用以下代码,该代码是从另一篇文章中修改的:

Sub clear_cell()
Dim v
v = Excel.ThisWorkbook.Sheets("TOP LINE").Range("B2").Value

Dim Arr() As Variant
Arr = Sheet1.Range("C2:DGJ2")

Dim r, c As Long
For r = 1 To UBound(Arr, 1)
For c = 1 To UBound(Arr, 2)
If Arr(r, c) > v Then
Arr(r, c) = ""
End If
Next c
Next r

Sheet1.Range("C2:DGJ2") = Arr

End Sub

我对其进行了修改以满足我的需要,但它仅适用于第一行。我需要一些帮助让它遍历第一列中的每一行。

感谢您的帮助。

最佳答案

I'm trying to write a macro in excel that will identify the first value in a row (A2) and then search the rest of the row to clear any cell with a greater value (C2:DGA2).



从上面的陈述中,我假设所有范围都在同一张纸上。如果我进行一些更改,您的代码对我有用。看到这个
Sub clear_cell()
Dim i As Long, j As Long
Dim Arr

'~~> Set Range here
Arr = Sheet1.Range("A2:DGJ400").Value

For i = 1 To UBound(Arr, 1)
For j = 2 To UBound(Arr, 2)
If Arr(i, j) > Arr(i, 1) Then
Arr(i, j) = ""
End If
Next j
Next i

'~~> Write back to the sheet
Sheet1.Range("A2:DGJ400") = Arr
End Sub

关于vba - 宏/VBA : Clear cells in a row based on values in a column, 并循环遍历整个列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30814406/

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