From a699df33cff9ff92b47f207b504c904c094e1809 Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Tue, 9 Nov 2021 17:42:15 +0000 Subject: - Added guest contributions by Eric Cheung. --- .../eric-cheung/excel-vba/Challenge_138.xlsm | Bin 0 -> 33593 bytes challenge-138/eric-cheung/excel-vba/ch-1.bas | 17 +++++++++++++ challenge-138/eric-cheung/excel-vba/ch-2.bas | 27 +++++++++++++++++++++ 3 files changed, 44 insertions(+) create mode 100755 challenge-138/eric-cheung/excel-vba/Challenge_138.xlsm create mode 100755 challenge-138/eric-cheung/excel-vba/ch-1.bas create mode 100755 challenge-138/eric-cheung/excel-vba/ch-2.bas diff --git a/challenge-138/eric-cheung/excel-vba/Challenge_138.xlsm b/challenge-138/eric-cheung/excel-vba/Challenge_138.xlsm new file mode 100755 index 0000000000..361e310141 Binary files /dev/null and b/challenge-138/eric-cheung/excel-vba/Challenge_138.xlsm differ diff --git a/challenge-138/eric-cheung/excel-vba/ch-1.bas b/challenge-138/eric-cheung/excel-vba/ch-1.bas new file mode 100755 index 0000000000..c47517534b --- /dev/null +++ b/challenge-138/eric-cheung/excel-vba/ch-1.bas @@ -0,0 +1,17 @@ +Attribute VB_Name = "ModTask_01" +Option Explicit + +Public Const strMyTitle As String = "Eric Cheung" + +Sub Task_01() + + '' Const nInputYear As Integer = 2021 '' Example 1 + Const nInputYear As Integer = 2020 '' Example 2 + + Dim strMsg As String + + strMsg = CStr(Application.WorksheetFunction.NetworkDays(DateSerial(nInputYear, 1, 1), DateSerial(nInputYear, 12, 31))) + + MsgBox strMsg, vbOKOnly, strMyTitle + +End Sub diff --git a/challenge-138/eric-cheung/excel-vba/ch-2.bas b/challenge-138/eric-cheung/excel-vba/ch-2.bas new file mode 100755 index 0000000000..b917a0ee85 --- /dev/null +++ b/challenge-138/eric-cheung/excel-vba/ch-2.bas @@ -0,0 +1,27 @@ +Attribute VB_Name = "ModTask_02" +Option Explicit + +Function splitStrFunc(strInput As String, nFirstCharPos As Integer, nStrLen As Integer) + splitStrFunc = Mid(strInput, nFirstCharPos, nStrLen) +End Function + +Sub Task_02() + + '' Const nPerSq As Integer = 81 '' Input Perfect Square: Example 1 + Const nPerSq As Integer = 9801 '' Input Perfect Square: Example 2 + Dim nSqrNum As Integer + + Dim strMsg As String, strSum As String + + nSqrNum = Sqr(nPerSq) + + strSum = CStr(Val(splitStrFunc(CStr(nPerSq), 1, Len(CStr(nSqrNum)))) + Val(splitStrFunc(CStr(nPerSq), Len(CStr(nSqrNum)) + 1, Len(CStr(nSqrNum))))) + + strMsg = "0" + If CStr(nSqrNum) = strSum Then + strMsg = "1" + End If + + MsgBox strMsg, vbOKOnly, strMyTitle + +End Sub -- cgit