gpt4 book ai didi

excel - VBA迭代不返回值

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

我正在编写一个非常简单的子过程来将字母等级分配给数字等级值。我有一个循环,我正在尝试将单元格值设置为函数的输出。这似乎是一个非常简单的任务,但我的循环的前两次迭代没有分配任何值。我的循环只经过 4 行。

Function get_letter(grade As Double)
Select Case grade
Case 0 To 59: letter = "F"
Case 60 To 69: letter = "D"
Case 70 To 79: letter = "C"
Case 80 To 89: letter = "B"
Case 90 To 100: letter = "A"
End Select
get_letter = letter
End Function

Sub assign_letter_grade()
Dim x As Integer
Dim grade As Range
Dim letter As Range

num_rows = Range("A2", Range("A2").End(xlDown)).Rows.Count

Set grade = Range("J2")
Set letter = Range("K2")

For x = 1 To num_rows
letter.Value = get_letter(grade.Value)
Set grade = grade.Offset(1, 0)
Set letter = letter.Offset(1, 0)
Next
End Sub

为什么不设置循环中前两行的值?

最佳答案

尝试这个:

Function get_letter(grade As Double) As String
if grade < 60 Then
get_letter = "F"
Elseif grade < 70 Then
get_letter = "D"
Elseif grade < 80 Then
get_letter = "C"
Elseif grade < 90 Then
get_letter = "B"
Else
get_letter = "A"
End If
End Function

关于excel - VBA迭代不返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27749254/

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