Post Job Free
Sign in

Data Analytics Power Bi

Location:
St. Louis, MO
Salary:
Very negotiable regarding violations, instead of a
Posted:
December 02, 2024

Contact this candidate

Resume:

John M. Lercher

Data Analytics Professional

618-***-**** ****.*******@*****.*** St. Louis, MO

PROFESSIONAL SUMMARY

Driven Data Analytics Professional with a proven track record of delivering transformative solutions through strategic planning and data-driven insights. Over two decades of experience in leading complex initiatives, driving process optimization, and fostering innovation across diverse industries. Proficient in advanced analytics tools (Power BI, Tableau, SQL) and skilled in developing automated workflows to streamline operations and enhance decision-making. Seeking a challenging data analytics developer role to leverage my expertise in shaping data-centric strategies and driving positive business outcomes.

SKILLS

Data Analytics & Reporting

Specialist in data analytics regarding FEMA disaster declarations. This includes the identification, servicing and remediation of affected USDA properties.

Expert level VBA design and development in all MS Office products including Access. Code examples available upon request.

Strategy Development & Innovation

Process Automation

Cross-functional Team Leadership

Stakeholder Engagement

Financial & Compliance Auditing

Workflow System Design

Executive Communication & Reporting

Regulatory Compliance

SQL, Power BI, Tableau,

MS Office Suite

Critical thinker and problem-solver

Strong communication skills

WORK EXPERIENCE

Management and Program Analyst USDA Rural Development, St. Louis, MO August 2002 – Present

Strategic Leadership: Spearheaded the development of automated systems that improved audit efficiency for Single Family Housing (SFH) and Multi-Family Housing (MFH) programs, recovering over $50 million in unauthorized assistance.

Data-Driven Insights: Utilized Tableau, Power BI, and SQL to provide quantitative reports that influenced upper management's decisions on staffing, performance reviews, and compliance measures.

Stakeholder Collaboration: Worked cross-functionally with IT specialists and management to design workflow automation that enhanced productivity by 80%, aligning systems with USDA initiatives.

Process Innovation: Led process redesign initiatives that resulted in the automation of mass mailings and standardized data entry systems, reducing manual errors by 90%.

Communication and Leadership: Engaged with senior management, providing strategic insights during high-level meetings to align organizational goals with operational execution.

Key Achievements:

Reduced auditing error rates by 75% through implementation of automated systems.

Developed training programs for 600+ staff, ensuring seamless adoption of telework technologies and data reporting tools.

Produced executive-level reports that improved organizational transparency with stakeholders, including Office of General Counsel, Office of Inspector General and the US House of Representatives subcommittee on housing.

EDUCATION

M.A. in Management/Information Systems Webster University, St. Louis, MO

B.A. in Political Science/Philosophy of Religion McKendree University, Lebanon, IL

CERTIFICATIONS

Microsoft Certified Data Analyst

Power BI, Tableau, SQL

VBA/Microsoft Office Workflow Automation

Effective Team Leadership

Microsoft Visual Basic Development

I possess expert level skill in VBA design and deployment. My skill applies to all products within the MS Office suite. The code samples below illustrate my skills in using VBA within Word, Excel and Access Databases and Modules.

Word

This VBA code automates the creation of form letters using word documents linked to tables within Access that contain the mailing information needed to populate mail merge fields within the letters. The code uses Adobe distiller to create Adobe PDFs from the merged documents.

Sub revltr Set wapp = CreateObject("Word.Application")

DisplayAlerts = False

SetWarnings = False

ChangeFileOpenDirectory "C:\mor doc\"

Documents.Open FileName Moratorium missing docs - reviews.doc _

ConfirmConversions:=False, ReadOnly:=False, AddToRecentFiles:=False, _

PasswordDocument PasswordTemplate Revert:=False, _

WritePasswordDocument WritePasswordTemplate Format:= _

wdOpenFormatAuto, XMLTransform

With ActiveDocument.MailMerge

.Destination = wdSendToPrinter

.SuppressBlankLines = True

With .DataSource

.FirstRecord = wdDefaultFirstRecord

.LastRecord = wdDefaultLastRecord

End With

.Execute Pause:=False

End With

ActiveDocument.Saved = True

ActiveDocument.Close

This code loops multiple times to create different types of letters.

Excel

The code below illustrates the use of VBA to parse a large data file using the array function within VBA. This allows for the conversion of a large, unstructured data file into a usable Excel spreadsheet. This code can be used to automate the formatting of new files each time an updated data file is received. This code formats a file received from the credit bureaus. Credit bureaus recently standardized the data structure of reporting files into a format called Metro2. This VBA code formats the Metro2 file into labeled columns in Excel.

EXP DATA FILE SECTION

Workbooks.OpenText Filename:="C:\cb files\EXP Data.txt", Origin:=437, _

StartRow:=1, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 2), Array(30 _

, 2), Array(60, 2), Array(73, 2), Array(75, 3), Array(83, 1), Array(92, 1), Array(101, 1), _

Array(104, 1), Array(105, 1), Array(114, 1), Array(123, 1), Array(125, 1), Array(126, 1), _

Array(150, 2), Array(152, 2), Array(154, 1), Array(163, 1), Array(172, 1), Array(181, 3), _

Array(189, 3), Array(197, 3), Array(205, 3), Array(213, 1), Array(231, 1), Array(256, 1), _

Array(276, 1), Array(296, 1), Array(297, 2), Array(306, 3), Array(314, 2), Array(324, 2), _

Array(325, 2), Array(327, 2), Array(329, 2), Array(361, 2), Array(393, 2), Array(413, 2), _

Array(415, 2), Array(426, 1), Array(429, 2), Array(454, 2), Array(474, 2), Array(494, 2), _

Array(495, 2), Array(504, 3), Array(512, 2), Array(522, 2), Array(523, 2), Array(526, 1), _

Array(626, 1), Array(726, 1), Array(826, 1), Array(926, 1), Array(1026, 1), Array(1126, 1) _

, Array(1226, 1), Array(1326, 1), Array(1426, 1), Array(1526, 1), Array(1529, 2), Array( _

1554, 2), Array(1574, 2), Array(1594, 2), Array(1595, 2), Array(1604, 2), Array(1612, 2), _

Array(1622, 2), Array(1623, 2), Array(1625, 2), Array(1627, 2), Array(1659, 2), Array( _

1691, 2), Array(1711, 2), Array(1713, 2), Array(1726, 1), Array(1926, 1), Array(2126, 1), _

Array(2326, 1), Array(2526, 1), Array(2726, 1), Array(2926, 1), Array(3126, 1), Array( _

3326, 1), Array(3526, 1), Array(3726, 1), Array(3760, 1), Array(3762, 2), Array(3764, 1), _

Array(3800, 1), Array(3802, 2), Array(3804, 3), Array(3812, 1), Array(3830, 1)), _

TrailingMinusNumbers:=True

Rows("1:1").Select

Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

Rows("2:2").Select

Selection.EntireRow.Hidden = True

Columns("N:N").Select

Selection.NumberFormat = "000000000000000000000000"

Range("AE1").Select

Range("A1").Select

ActiveCell.FormulaR1C1 = "Header_EXP"

Range("B1").Select

ActiveCell.FormulaR1C1 = "Account #_EXP"

Range("C1").Select

ActiveCell.FormulaR1C1 = "Portfolio Type_EXP"

Range("D1").Select

ActiveCell.FormulaR1C1 = "Account Type_EXP"

Range("E1").Select

ActiveCell.FormulaR1C1 = "Date Opened_EXP"

Range("F1").Select

ActiveCell.FormulaR1C1 = "Credit Limit_EXP"

Range("G1").Select

ActiveCell.FormulaR1C1 = "High Credit_Orig Amt_EXP"

Range("H1").Select

ActiveCell.FormulaR1C1 = "Terms Duration_EXP"

Range("I1").Select

ActiveCell.FormulaR1C1 = "Terms Frequency_EXP"

Range("J1").Select

Range("J1").Select

ActiveCell.FormulaR1C1 = "Scheduled Monthly Payment_EXP"

Range("K1").Select

ActiveCell.FormulaR1C1 = "Actual Payment Amount_EXP"

Range("L1").Select

ActiveCell.FormulaR1C1 = "Account Status_EXP"

Range("M1").Select

ActiveCell.FormulaR1C1 = "Payment Rating_EXP"

Range("N1").Select

ActiveCell.FormulaR1C1 = "Payment History Profile_EXP"

Range("O1").Select

ActiveCell.FormulaR1C1 = "Special Comment Code_EXP"

Range("P1").Select

ActiveCell.FormulaR1C1 = "Compliance Condition Code_EXP"

Range("Q1").Select

ActiveCell.FormulaR1C1 = "Current Balance_EXP"

Range("R1").Select

ActiveCell.FormulaR1C1 = "Amount Past Due_EXP"

Range("S1").Select

ActiveCell.FormulaR1C1 = "Original Charge-Off Amount_EXP"

Range("T1").Select

ActiveCell.FormulaR1C1 = "DOAI_EXP"

Range("U1").Select

ActiveCell.FormulaR1C1 = "DOFD_EXP"

Range("V1").Select

ActiveCell.FormulaR1C1 = "Date Closed_EXP"

Range("W1").Select

ActiveCell.FormulaR1C1 = "Date of Last Payment_EXP"

Range("X1").Select

ActiveCell.FormulaR1C1 = "Reserved_EXP"

Range("Y1").Select

ActiveCell.FormulaR1C1 = "Surname_EXP"

Range("Z1").Select

ActiveCell.FormulaR1C1 = "First Name_EXP"

Range("AA1").Select

ActiveCell.FormulaR1C1 = "Middle_EXP"

Range("AB1").Select

ActiveCell.FormulaR1C1 = "Generation Code_EXP"

Range("AC1").Select

ActiveCell.FormulaR1C1 = "SSN_EXP"

Range("AD1").Select

ActiveCell.FormulaR1C1 = "DOB_EXP"

Range("AE1").Select

ActiveCell.FormulaR1C1 = "Telephone_EXP"

Range("AF1").Select

ActiveCell.FormulaR1C1 = "ECOA_EXP"

Range("AG1").Select

ActiveCell.FormulaR1C1 = "CII_EXP"

Range("AH1").Select

ActiveCell.FormulaR1C1 = "Country Code"

Range("AI1").Select

ActiveWindow.ActivatePrevious

Windows("EXP Data.txt").Activate

Range("AH1").Select

ActiveCell.FormulaR1C1 = "Country Code_EXP"

Range("AI1").Select

ActiveCell.FormulaR1C1 = "Address Line 1_EXP"

Range("AJ1").Select

ActiveCell.FormulaR1C1 = "Address Line 2_EXP"

Range("AK1").Select

ActiveCell.FormulaR1C1 = "City_EXP"

Range("AL1").Select

ActiveCell.FormulaR1C1 = "State_EXP"

Range("AM1").Select

ActiveCell.FormulaR1C1 = "Zip_EXP"

Range("AN1").Select

ActiveCell.FormulaR1C1 = "J1 Segment_EXP"

Range("AO1").Select

ActiveCell.FormulaR1C1 = "J1 Surname_EXP"

Range("AP1").Select

ActiveCell.FormulaR1C1 = "J1 First Name_EXP"

Range("AQ1").Select

ActiveCell.FormulaR1C1 = "J1 Middle_EXP"

Range("AR1").Select

ActiveCell.FormulaR1C1 = "Generation Code_EXP"

Range("AS1").Select

ActiveCell.FormulaR1C1 = "SSN_EXP"

Range("AT1").Select

ActiveCell.FormulaR1C1 = ""

Range("AR1").Select

ActiveCell.FormulaR1C1 = "J1 Generation Code_EXP"

Range("AS1").Select

ActiveCell.FormulaR1C1 = "J1 SSN_EXP"

Range("AT1").Select

ActiveCell.FormulaR1C1 = "J1 DOB_EXP"

Range("AU1").Select

ActiveCell.FormulaR1C1 = "J1 Telephone_EXP"

Range("AV1").Select

ActiveCell.FormulaR1C1 = "J1 ECOA_EXP"

Range("AW1").Select

ActiveCell.FormulaR1C1 = "J1 CII_EXP"

Range("AX1").Select

ActiveCell.FormulaR1C1 = "J1-1 Segment_EXP"

Range("AY1").Select

ActiveCell.FormulaR1C1 = "J1-2 Segment_EXP"

Range("AZ1").Select

ActiveCell.FormulaR1C1 = "J1-3 Segment_EXP"

Range("BA1").Select

ActiveCell.FormulaR1C1 = "J1-4 Segment_EXP"

Range("BB1").Select

ActiveCell.FormulaR1C1 = "J1-5 Segment_EXP"

Range("BC1").Select

ActiveCell.FormulaR1C1 = "J1-6 Segment_EXP"

Range("BD1").Select

ActiveCell.FormulaR1C1 = "J1-7 Segment_EXP"

Range("BE1").Select

ActiveCell.FormulaR1C1 = "J1-8 Segment_EXP"

Range("BF1").Select

ActiveCell.FormulaR1C1 = "J1-9 Segment_EXP"

Range("BG1").Select

ActiveCell.FormulaR1C1 = "J1-10 Segment_EXP"

Range("BH1").Select

ActiveCell.FormulaR1C1 = "J2 Segment_EXP"

Range("BI1").Select

ActiveCell.FormulaR1C1 = "J2 Surname_EXP"

Range("BJ1").Select

ActiveCell.FormulaR1C1 = "J2 First Name_EXP"

Range("BK1").Select

ActiveCell.FormulaR1C1 = "J2 Middle_EXP"

Range("BL1").Select

ActiveCell.FormulaR1C1 = "J2 Generation Code_EXP"

Range("BM1").Select

ActiveCell.FormulaR1C1 = "J2 SSN_EXP"

Range("BN1").Select

ActiveCell.FormulaR1C1 = "J2 DOB_EXP"

Range("BO1").Select

ActiveCell.FormulaR1C1 = "J2 Telephone_EXP"

Range("BP1").Select

ActiveCell.FormulaR1C1 = "J2 ECOA_EXP"

Range("BQ1").Select

ActiveCell.FormulaR1C1 = "J2 CII_EXP"

Range("BR1").Select

ActiveCell.FormulaR1C1 = "J2 Country Code_EXP"

Range("BS1").Select

ActiveCell.FormulaR1C1 = "J2 Address Line 1_EXP"

Range("BT1").Select

ActiveCell.FormulaR1C1 = "J2 Address Line 2_EXP"

Range("BU1").Select

ActiveCell.FormulaR1C1 = "J2 City_EXP"

Range("BV1").Select

ActiveCell.FormulaR1C1 = "J2 State_EXP"

Range("BW1").Select

ActiveCell.FormulaR1C1 = "J2 Zip_EXP"

Range("BX1").Select

ActiveCell.FormulaR1C1 = "J2-1 Segment_EXP"

Range("BY1").Select

ActiveCell.FormulaR1C1 = "J2-2 Segment_EXP"

Range("BZ1").Select

ActiveCell.FormulaR1C1 = "J2-3 Segment_EXP"

Range("CA1").Select

ActiveCell.FormulaR1C1 = "J2-4 Segment_EXP"

Range("CB1").Select

ActiveCell.FormulaR1C1 = "J2-5 Segment_EXP"

Range("CC1").Select

ActiveCell.FormulaR1C1 = "J2-6 Segment_EXP"

Range("CD1").Select

ActiveCell.FormulaR1C1 = "J2-7 Segment_EXP"

Range("CE1").Select

ActiveCell.FormulaR1C1 = "J2-8 Segment_EXP"

Range("CF1").Select

ActiveCell.FormulaR1C1 = "J2-9 Segment_EXP"

Range("CG1").Select

ActiveCell.FormulaR1C1 = "J2-10 Segment_EXP"

Range("CH1").Select

ActiveCell.FormulaR1C1 = "K2 Segment_EXP"

Range("CI1").Select

ActiveCell.FormulaR1C1 = "K3 Segment_EXP"

Range("CJ1").Select

ActiveCell.FormulaR1C1 = "K3 Segment_EXP1"

Range("CK1").Select

ActiveCell.FormulaR1C1 = "K3 Segment_EXP2"

Range("CL1").Select

ActiveCell.FormulaR1C1 = "K4 Segment_EXP"

Range("CM1").Select

ActiveCell.FormulaR1C1 = "K4 Specialized Payment Indicator_EXP"

Range("CN1").Select

ActiveCell.FormulaR1C1 = "K4 Deferred Payment Start Date_EXP"

Range("CO1").Select

ActiveCell.FormulaR1C1 = "K4 Segment_EXP1"

Range("CP1").Select

ActiveCell.FormulaR1C1 = "L1 Segment_EXP"

Range("CQ1").Select

Columns("CN:CN").Select

Range("CN307").Activate

ChDir "c:\cb files\"

ActiveWorkbook.SaveAs Filename:= _

"c:\cb files\experian file.xlsx" _

, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

ActiveWorkbook.Close

This code loops and alters the field names to process additional credit bureau files for Innovis, Transunion and Equifax in addition to Experian which is shown above.

Access

My use of VBA in Access is a departure from the automation aspect that VBA allows for in Word and Excel. I am very skilled in database administration and process development within Access. This involves the creation of user input forms to collect data that cannot be collected through traditional sources such a data warehouse. The VBA code below controls the entry of data into a form. The VBA code allows the user to enter data but limits that data to predefined values using an offline rule set. Limiting the user data to predefined values virtually eliminates the need for data cleansing and the loss of completed audit information due to invalid data values. I also use the code to calculate additional database field values thus eliminating the need for the user to input these values.

Private Sub Audit_Child_Care_GotFocus Audit_Medical_Expenses_minues_3__annual_income = (Audit_Medical_Expenses_Not_Reimbursed - Audit_3__of_Annual_Income)

If Audit_Medical_Expenses_minues_3__annual_income < 0 Then

Audit_Medical_Expenses_minues_3__annual_income = 0

Else

End If

Audit_Total_Deductions_for_family = (Audit_family_members_elderly_or_disabled + Audit_family_members_under_18_or_students + Audit_Child_Care)

Audit_3__of_Annual_Income = (total_annual_Income * 0.03)

Audit_Total_Deductions = (Audit_family_members_elderly_or_disabled + Audit_family_members_under_18_or_students + Audit_Child_Care + Audit_Medical_Expenses_minues_3__annual_income)

Audit_Adjusted_Income = (total_annual_Income - Audit_Total_Deductions)

Audit_Total_Deductions_for_family = (Audit_family_members_elderly_or_disabled + Audit_family_members_under_18_or_students + Audit_Child_Care)

If Audit_Medical_Expenses_Not_Reimbursed = 0 Then

Audit_Total_Deductions = Audit_Total_Deductions_for_family

Audit_Adjusted_Income = (total_annual_Income - Audit_Total_Deductions)

Else

End If

Audit_Adjusted_Income = (total_annual_Income - Audit_Total_Deductions)

Audit_Adjusted_Income = 10 * Round([Audit_Adjusted_Income] / 10, 0)

DoCmd.Maximize

audit_required = "YES"

Combo290.Visible = False

Combo210 = ""

Combo213 = ""

Activation_Date = ""

audit_not_required_reason.Visible = False

Date.Visible = False

reviewer_name.SetFocus

Date.Locked = True

Combo210.Enabled = True

Combo213.Enabled = True

DoCmd.GoToRecord,, acNewRec

total_annual_Income.Locked = True

Audit_Total_Deductions_for_family.Locked = True

Audit_Medical_Expenses_minues_3__annual_income.Locked = True

Audit_Total_Deductions.Locked = True

Audit_Total_Deductions.Locked = True

Audit_Adjusted_Income.Locked = True

reviewer_name.SetFocus

Audit_3__of_Annual_Income.Locked = True

Private Sub primary_borrower_GotFocus If Combo210 <> account_number Then

MsgBox ("The Account Number was not found.")

Combo210.SetFocus

Else

Private Sub saveit_Click If (audit_required) = "No" Then GoTo

If Audit_Effective_Date >= Audit_Expiration_Date Then

account_number.SetFocus

MsgBox ("The Effective or Expiration Date is Incorrect.")

Else

End If

If IsNull(Audit_Annual_Income_1) = True Then

MsgBox ("The Audit Annual Income 1 field is blank. ")

Audit_Annual_Income_1.SetFocus

Else

End If

If IsNull(Audit_Calculation_Documentation_1) = True Then

MsgBox ("The Audit Calculation 1 field is blank.")

Audit_Calculation_Documentation_1.SetFocus

Else

End If

If IsNull(Audit_Household_Member_1) = True Then

MsgBox ("The Audit Household Member 1 field is blank.")

Audit_Household_Member_1.SetFocus

Else

End If

If IsNull(Audit_Income_Source_1) = True Then

MsgBox ("The Audit Income 1 field is blank.")

Audit_Income_Source_1.SetFocus

Else

End If

If (Audit_Subsidy <> 0 And IsNull(Date_Audit_Completed) = True) Then

MsgBox ("Date Audit Completed is blank. Please populate this date.")

Date_Audit_Completed.SetFocus

Else

End If

If (Audit_Subsidy = 0 And IsNull(Date_Audit_Completed) = False) And IsNull(Combo290 = True) Then

Combo290.Visible = True

MsgBox ("You must enter the Zero Audit Subsidy Amount Reason.")

Combo290.SetFocus

Else

End If

If IsNull(primary_borrower) = True Then

MsgBox ("The Primary Borrower field is blank.")

primary_borrower.SetFocus

Private Sub Close_without_Saving_Click On Error GoTo Err_Close_without_Saving_Click

If IsNull(primary_borrower) = True Then

Else

End If

DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo,, acMenuVer70

DoCmd.Close

Exit_Close_without_Saving_Click:

Exit Sub

Err_Close_without_Saving_Click:

MsgBox Err.Description

Resume Exit_Close_without_Saving_Click

DoCmd.Close

DoCmd.Save

DoCmd.Close

Private Sub Combo210_AfterUpdate Application.Echo False

account_number.Enabled = True

account_number.SetFocus

DoCmd.FindRecord Combo210

Combo210.SetFocus

account_number.Locked = True

Application.Echo True

DoCmd.Requery

Date = Now

audit_required.SetFocus

End Sub

Modules

Since VBA is nearly identical to VB 6.0, Access allows for the creation of modules which are similar to VB6 executables. Modules contain VBA code that allows for additional functionality within Access but are not tied to another item such as a form or query. Module code can be written and stored independently from other items and then executed using an Access macro or by calling it from other VBA code.

The code example below checks the name of the user logged into Windows and verifies that the user is valid and should be allowed to view the database. Names have been changed from real USDA employee names.

Public Function extsec Dim myQry As String

Dim sUserName As String

' Get Current User Name

sUserName = Environ$("username")

If sUserName = "james.madison" Or

If sUserName = "barack.obama" Or

If sUserName = "thomas.jefferson" Or

If sUserName = "grover.cleveland"

then

q2:

End Function

else

MsgBox ("You are not authorized to use this database. Access will now close.")

Docmd.Close

End Sub

The module below collects PDF files from a folder, attaches them to an email and sends the files to the users specified in the “names” field. This allows for the creation of “Blast” emails to send documents or reports that are needed daily. This process occurs silently in the background. Outlook does not open nor is it displayed to the user executing the module. The sleep function shown within the code below is used to delay the attachment of files to the email until the creation of the PDF files has completed.

Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Public Function sm 'Sub sendmail Dim objol As Object

Dim objmail As Object

Dim objFolder As Object

Dim strFolder As String

Dim fso As Object

Dim fsFolder As Object

Dim fsFile As Object

strFolder = "c:\mor doc merge\"

names2 = ("***.*****@****.***;****.*****@****.***;****.*****@****.***; ")

Set fso = CreateObject("Scripting.FileSystemObject")

Set fsFolder = fso.GetFolder(strFolder)

Set objol = CreateObject("Outlook.Application")

Set objmail = objol.CreateItem(0) '(olMailItem)

With objmail

.to = names2

.subject = "Moratorium Letters for " & Date

.Body = "Attached are the moratorium letters for today."

.NoAging = True

'// Using the file system object, return/add all the Excel files in the picked //

'// folder newHour = Hour(Now Sleep (96111)

For Each fsFile In fsFolder.Files

If fsFile.Name Like "*.pdf" Then

.Attachments.Add strFolder & "\" & fsFile.Name

End If

Next

.Send

End With

errhndl:

Set objFolder = Nothing

Set fso = Nothing

Set fsFolder = Nothing

Set objol = Nothing

Set objmail = Nothing

DoCmd.Close

End Function

Thank you for reviewing the code examples I’ve provided. I am constantly researching better coding methods and investigating ways that I can improve the efficiency and accuracy of USDA employees thus improving the quality and accuracy of information provided to USDA Rural Development Single Family Housing customers. I have 20 years of experience writing and implementing VBA. I think you’ll find that my skills, experience and master’s degree level education make me uniquely qualified for this position.



Contact this candidate