by val & by ref และตัวอย่าง
Posted: Tue Mar 22, 2011 2:27 pm
รบกวนคุณคนควนช่วยผมด้วยครับ คือผมต้องการ return ค่าจาก module หนี่งให้เก็บค่าไว้ใช้ที่ sub module แต่มันงงครับรบกวนด้วยครับตาม code ที่ผมเขียนข้างล่างนี่ มันมี Error Agrument not optional ขอความกรุณาด้วยครับ
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i As Integer
If Range("d38").Value = "Monday" Then
Range("b18").Value = "Friday"
Range("b22").Value = "Saturday"
Range("b26").Value = "Sunday"
ElseIf Range("d38").Value = "Tuesday" Then
Range("b18").Value = "Saturday"
Range("b22").Value = "Sunday"
Range("b26").Value = "Monday"
ElseIf Range("d38").Value = "NormalDay" Then
i = Weekday(Range("b25").Value)
Call akechk
End If
End Sub
Sub akechk(ByRef i As Integer)
Select Case i
Case 1
Range("b26").Value = "Sunday"
Case 2
Range("b26").Value = "Monday"
Case 3
Range("b26").Value = "Tuesday"
Case 4
Range("b26").Value = "Wednesday"
Case 5
Range("b26").Value = "Thursday"
Case 6
Range("b26").Value = "Friday"
Case 7
Range("b26").Value = "Saturday"
End Select
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i As Integer
If Range("d38").Value = "Monday" Then
Range("b18").Value = "Friday"
Range("b22").Value = "Saturday"
Range("b26").Value = "Sunday"
ElseIf Range("d38").Value = "Tuesday" Then
Range("b18").Value = "Saturday"
Range("b22").Value = "Sunday"
Range("b26").Value = "Monday"
ElseIf Range("d38").Value = "NormalDay" Then
i = Weekday(Range("b25").Value)
Call akechk
End If
End Sub
Sub akechk(ByRef i As Integer)
Select Case i
Case 1
Range("b26").Value = "Sunday"
Case 2
Range("b26").Value = "Monday"
Case 3
Range("b26").Value = "Tuesday"
Case 4
Range("b26").Value = "Wednesday"
Case 5
Range("b26").Value = "Thursday"
Case 6
Range("b26").Value = "Friday"
Case 7
Range("b26").Value = "Saturday"
End Select
End Sub