如何更改所选单元格的值?

时间:2019-03-26 12:20:47

标签: excel vba

在选择一定数量的单元格之后,我需要知道如何使用按钮将其代码行仅应用于那些选定的单元格。

我尝试选择并仅单击按钮,但是没有用。

如果还有另一种选择允许我做同样的事情,那也是一个受欢迎的想法

这是我要应用的代码,但仅适用于用鼠标选择的单元格,而不是像代码中显示的那样真正预选的单元格。

If Range("h3").Value >= 0 Then
   Range("bk3").Value = True
Else
   Range("bk3").Value = False
End If

If Range("h3").Value >= 0 Then
    Range("j3").Value = Range("j3").Value & " | " & VarNUMCB
Else

End If

If Range("h3").Value >= 0 Then
   Range("l3").Value = Now
Else
End If

2 个答案:

答案 0 :(得分:0)

With Selection
    If Range("h3").Value >= 0 Then
        Range("bk3").Value = True
        Range("j3").Value = Range("j3").Value & " | " & VarNUMCB
        Range("l3").Value = Now
    Else
        Range("bk3").Value = False
    End If
End With

如果要在column h中选择一个单元格,则此代码将使用与所选单元格的偏移量。

With Selection
    If .Value >= 0 Then
        .Offset(, 55).Value = True
        .Offset(, 2).Value = Range("j3").Value & " | " & "Yes"
        .Offset(, 3).Value = Now
    Else
        .Offset(, 55).Value = Falsee
    End If
End With

如果要在column h中选择一个单元格范围,则必须将以上代码放在For Each Cell in Selection循环中

For Each cel in Selection
    If cel.Value >= 0 Then
        cel.Offset(, 55).Value = True
        cel.Offset(, 2).Value = Range("j3").Value & " | " & "Yes"
        cel.Offset(, 3).Value = Now
    Else
        cel.Offset(, 55).Value = False
    End If
Next cel

答案 1 :(得分:0)

这将循环选中的单元格并对其进行更改:

Set selectedRange = Application.Selection

For Each cell In selectedRange.Cells
   'do something with the cell, like:
   cell.value = cell.value + 1
Next cell