Excel 如果值在一个单元格中,则修改组成该单元格的行

Excel 如果值在一个单元格中,则修改组成该单元格的行,excel,vba,Excel,Vba,我是VBA的新手,有一件事让我有些挣扎。我想做一个宏,它检查“M”列中的值。如果值大于5,则打印“hello”。如果没有,则打印“x”。不幸的是,我只在选定的单元格中返回“x” Private Sub costam() Dim i As Integer Dim a As Integer a = 13 For i = 1 To Range("M" & Rows.Count).End(xlUp).Row If Cells(a, i).Value > 5 Then R

我是VBA的新手,有一件事让我有些挣扎。我想做一个宏,它检查“M”列中的值。如果值大于5,则打印“hello”。如果没有,则打印“x”。不幸的是,我只在选定的单元格中返回“x”

Private Sub costam()
Dim i As Integer
Dim a As Integer
a = 13

For i = 1 To Range("M" & Rows.Count).End(xlUp).Row
    If Cells(a, i).Value > 5 Then
     Range(Cells(1, i), Cells(10, i)).Value = "hello"
    Else
     Range(Cells(1, i), Cells(10, i)).Value = "x"
    End If
Next i

End Sub

我知道这个问题很愚蠢,需要1分钟才能解决,但我正在尝试应用一些类似的问题,但没有任何进展。

您可以为此工作簿创建自定义函数

Public Function CustomFunction(myVal As Integer)
Dim myResult As String

If myVal > 5 Then
    myResult = "Hello"
Else
    myResult = "X"
End If

    CustomFunction = myResult
End Function
然后,在希望返回值的单元格中编写一个公式。
=CustomFunction(A2)

您的自定义函数需要放在模块中。

如果单元格(i,a)…..
并相应地切换其他单元格,其行然后是列。@SJR omg,谢谢!不过,您的问题的真正解决方案是@SJR comment。