匿名使用者
匿名使用者 發問時間: 電腦與網際網路程式設計 · 6 年前

關於excel VBA的問題

我有三題關於VBA的問題想問

1. 會先在EXCEL上面輸入一個表格,大概是下面這樣子

中文 日文 總分 平均 調整平均數

90 30

88 52

54 58

78 50

老師要我們用FOR的迴圈寫出總分和平均的程式碼

我寫出來是這樣子

Sub s100()

For i = 2 To 6 Step 1

Cells(i, 4) = Cells(i, 2) + Cells(i, 3)

Cells(i, 5) = Cells(i, 4) / 2

Next

End Sub

然後在調整平均數那一行 要先判斷平均那一行的數字

如果大於60就直接用原本的分數

小於55也是用原本的分數

但是如果再55~60之間就要把那個數字改成60 而且還要將數字改成紅色

請問這個部分該怎麼做呢?

2.計算BMI的

會先跳出一個視窗要你輸入身高和體重,然後就會跳出另外一個視窗告訴你BMI是多少,點了確定之後,他會再跳出一個msgbox告訴你是體重正常,過輕還是異常

(正常是在18.5~24

異常是大於24

過輕是小於18.5)

這一題我完全不知道該從何開始寫起

3. 終極密碼

一開始要用一個亂數產生器產隨機產生一個數字,並把它改成白色存入A1

這是我寫的

Sub s100()

a = Rnd * 100

b = Int(a)

Cells(1, 1) = b

Range("A1").Font.Color = vbWhite

End Sub

然後要跳出一個Inputbox,說請輸入0~100,然後就像終極密碼那樣,你猜一個數字他就會在跳出另外一個視窗告訴你範圍,而且猜到第十次的時候就要跳出來直接告訴你答案,並且要在B行存放所有猜過的數字

請問這個部分該怎麼做呢?

我們才剛學寫程式不久,大概學了IF...THEN SELECTCASE 還有迴圈等等一些很基本的而已,還想問學VBA該如何學才能學的好呢?雖然老師當場教的時候都還算是會,但如果是直接出一題組合應用的就常常不知道該從何寫起

2 個解答

評分
  • 小嵐
    Lv 4
    6 年前
    最佳解答

    Sub 計算()

    For i = 2 To [A65536].End(xlUp).Row

    Cells(i, 3) = Cells(i, 1) + Cells(i, 2)

    Cells(i, 4) = Cells(i, 3) / 2

    If Cells(i, 4) > 60 Or Cells(i, 4) < 55 Then

    Cells(i, 5) = Cells(i, 4)

    Else

    Cells(i, 5) = 60

    Cells(i, 5).Font.ColorIndex = 3

    End If

    Next i

    End Sub

    2014-11-16 00:13:47 補充:

    如果會用到重新計算

    先把顏色改成黑色在前面加上

    Sub 計算()

    Cells.Font.ColorIndex = 0

    2014-11-16 10:11:13 補充:

    如果不知如何下手請利用"奇摩"搜尋

    VBA InputBox

    VBA MsgBox

    VBA BMI

    迴圈就搜尋 VBA if

    另外可以用錄製巨集方式得到寫法

    Sub 身高體重計算()

    Dim g, h, k

    k = InputBox("請輸入體重 * 公斤", "體重")

    h = InputBox("請輸入身高* 公分", "身高")

    g = k / (h / 100) ^ 2

    MsgBox "您的BMI值為 " & g

    If g >= 24 Then

    MsgBox "您的體重異常"

    ElseIf g <= 18.5 Then

    MsgBox "您的體重過輕"

    Else

    MsgBox "您的體重正常"

    End If

    End Sub

    2014-11-16 13:01:04 補充:

    終極

    http://www.funp.net/620880

    參考資料: 初學
  • 匿名使用者
    6 年前

    這里很不錯999shopping。com老婆很喜歡

    偻呔亀凄

還有問題?馬上發問,尋求解答。