了解用户输入后,如何引用该单元格来更改其字体颜色?

时间:2017-02-14 00:18:07

标签: excel vba

以下是我要遵循的步骤。有人可以检查我的工作并在第2步和第4步帮助我!拜托,谢谢你。

第1步:插入程序。要求用户输入学生的号码以及使用两个输入框进行的测验。

第2步:了解学生编号和测验编号,将学生成绩字体的颜色更改为蓝色。

步骤3:添加代码以在单元格M1中插入标签平均值并以粗体显示。

第4步:在第M栏中为学生输入一个公式,以平均他或她的测验成绩。

Public Sub part3()
Range("a2", Range("a2").End(xlDown)).Name = "num"
Range("b2", Range("b2").End(xlDown)).Name = "student"
Range("c1:l1").End(xlToRight).Name = "quizzes"

Dim studentnum As Variant, quiznum As Variant
studentnum = InputBox("Please enter a student number.", , "10")
quiznum = InputBox("Now enter a quiz number.", , "8")

Dim cell As Range, cell2 As Range
For Each cell In Range("num")
cntr = cntr + 1

   If UCase(studentnum) = UCase(cell.Value) Then
    cntr2 = cntr2 + 1
        If UCase(quiznum) = UCase(cell2.Value) Then
            .Font.Color = vbBlue
        End If
    Next cell2
End If
Next cell
End If



Range("m1").Value = "Average"
    With Range("m1")
        .Name = "Average"
        .Font.Bold = True
    End With

'step4
?????????

End Sub

1 个答案:

答案 0 :(得分:0)

您的第2步应该是:

Dim cell As Range
Dim r As Long
Dim c As Long
For Each cell In Range("num")
    If UCase(studentnum) = UCase(cell.Value) Then
        r = cell.Row
        Exit For
    End If
Next
For Each cell In Range("quizzes")
    If UCase(quiznum) = UCase(cell.Value) Then
        c = cell.Column
        Exit For
    End If
Next
Cells(r, c).Font.Color = vbBlue

你的第4步将是:

Cells(r, "M").FormulaR1C1 = "=AVERAGE(RC3:RC12)"

(我猜你试图平均哪些列,所以使用C:L。)

请记住,Stack Overflow许可要求您在自己的工作中使用此答案以包含回复此答案的归因 - 所以,如果不是只是一种做法测试,确保你告诉你的老师答案是由我写的部分!