• 2

請問這段程式碼如何寫會比較方便

使用Vba作比對大小 D2:D78對比V2:V78

Function 禮拜一()


If Range("C2").Value >= Range("V2").Value Then

Range("R2").Value = "是"

Else

Range("R2").Value = "否"

End If

If Range("C3").Value >= Range("V3").Value Then

Range("R3").Value = "是"

Else

Range("R3").Value = "否"

End If

If Range("C4").Value >= Range("V4").Value Then

Range("R4").Value = "是"

Else

Range("R4").Value = "否"

End If

If Range("C5").Value >= Range("V5").Value Then

Range("R5").Value = "是"

Else

Range("R5").Value = "否"

End If



End Function

請問一下各位大大這樣要怎麼寫會比較方便
2019-12-25 22:25 發佈
文章關鍵字 程式碼
不需要用到vba,excel本身就能用了
R2內容:=IF(C2>=V2,"是","否")
R3內容:=IF(C3>=V3,"是","否")

以此類推
wychen57 wrote:
不需要用到vba,excel...(恕刪)


好的感恩大大
配合迴圈+IIF,會比較精簡快速
nwcs wrote:
配合迴圈+IIF,會(恕刪)


好的 了解 感恩大大 我在看要怎麼寫
Function 禮拜一()

Dim i As Integer

For i = 2 To 5
If Range("C" & i).Value >= Range("V" & i).Value Then
Range("R" & i).Value = "是"
Else
Range("R" & i).Value = "否"
End If
Next
End Function
If Range("C" & i).Value >= Range("V" & i).Value Then
Range("R" & i).Value = "是"
Else
Range("R" & i).Value = "否"
End If
============
我不懂VBA,不知是否能精簡成:
Range("R" & i).Value =(Range("C" & i).Value >= Range("V" & i).Value,"是","否")
程式簡化為:

Function 禮拜一()
Dim i As Integer

For i = 2 To 5
Range("R" & i).Value =(Range("C" & i).Value >= Range("V" & i).Value,"是","否")
Next i
End Function
nwcs wrote:
If Range("C...(恕刪)

nwcs大大這樣寫會出錯喔....
WJS_HVM大大的已經很精簡了!
要再更精簡就迴圈搭配wychen57大大回覆的吧

Function 禮拜一()
Dim i As Integer
For i = 2 To 5
Range("R" & i).Value = "=IF(C" & i & ">=V" & i & ",""是"",""否"")"
Next
End Function
小小尉 wrote:
nwcs大大這樣寫會(恕刪)
我就是這個意思,但我不懂vba,才想是不是應該這樣。
以一般思考,我的虛擬碼會變成:
Function 禮拜一()
Dim i As Integer
For i = 2 To 5
("R" & i) = "=IF(C" & i & ">=V" & i & ",""是"",""否"")"
Next i
End Function
==========
VALUE是內建default屬性,所以可以省略。
哇 謝謝各位大佬 感恩您們
  • 2
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?