Board logo

標題: [發問] 請教手動輸入的3維陣列,如何將數值排列? [打印本頁]

作者: newsoft    時間: 2017-6-27 15:03     標題: 請教手動輸入的3維陣列,如何將數值排列?

我對陣列寫法沒啥概念.
如果要以VBA表達(非寫進儲存格方式),
1.由大到小排列3個學生的第2個學期的第2科目成績,請教該引用哪種函數?
2.Score(2, 1, 1)能不能直接由Score(1, 1, 1)寫入到Score(3, 1, 1)?  而Score(0, 0, 0)直接跳過.

感謝各位


Sub test()        
  Dim Score(2, 1, 1)  As Byte
  
  Score(0, 0, 0) = InputBox("請輸入第1位學生第1個學期的第1科目成績:")
  Score(0, 0, 1) = InputBox("請輸入第1位學生第1個學期的第2科目成績:")
  Score(0, 1, 0) = InputBox("請輸入第1位學生第2個學期的第1科目成績:")
  Score(0, 1, 1) = InputBox("請輸入第1位學生第2個學期的第2科目成績:")
  
  Score(1, 0, 0) = InputBox("請輸入第2位學生第1個學期的第1科目成績:")
  Score(1, 0, 1) = InputBox("請輸入第2位學生第1個學期的第2科目成績:")
  Score(1, 1, 0) = InputBox("請輸入第2位學生第2個學期的第1科目成績:")
  Score(1, 1, 1) = InputBox("請輸入第2位學生第2個學期的第2科目成績:")
  
  Score(2, 0, 0) = InputBox("請輸入第3位學生第1個學期的第1科目成績:")
  Score(2, 0, 1) = InputBox("請輸入第3位學生第1個學期的第2科目成績:")
  Score(2, 1, 0) = InputBox("請輸入第3位學生第2個學期的第1科目成績:")
  Score(2, 1, 1) = InputBox("請輸入第3位學生第2個學期的第2科目成績:")
  

  MsgBox Score(0, 1, 1) & "," & Score(1, 1, 1) & "," & Score(2, 1, 1)

End Sub
作者: Hsieh    時間: 2017-7-3 17:03

回復 1# newsoft

參考看看
  1. Sub ex()
  2. Dim Score(1 To 3, 1 To 2, 1 To 2) As Byte '學號,學期,科目
  3. For i = 1 To 3 '學號
  4.     For j = 1 To 2 '學期
  5.        For k = 1 To 2 '科目
  6.           Score(i, j, k) = InputBox("請輸入第" & i & "位學生第" & j & "個學期的第" & k & "科目成績:", , i * 10 + j * 2 + k)
  7.        Next
  8.     Next
  9. Next
  10. s = InputBox("輸入第幾學期", , 2)
  11. For i = 1 To 3
  12.    For j = 1 To 2
  13.       MsgBox "第" & i & "位學生第" & s & "學期第" & j & "科的成績:" & Score(i, s, j)
  14.    Next
  15. Next

  16. End Sub
複製代碼

作者: newsoft    時間: 2017-7-13 15:27

回復 2# Hsieh
感謝H大回覆...
我在研究看看




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)