Learn how you can easily use sql code in excel.
VBA Code
Sub create_sheets()
Sheets.Add.Name = "gender"
Sheets.Add.Name = "country"
get_data ("gender")
get_data ("country")
End Sub
Sub get_data(sheet_name As String)
'--- Declare Variables to store the connection, the result and the SQL query
Dim connection As Object, result As Object, sql As String, recordCount As Long
'--- Connect to the current datasource of the Excel file
Set connection = CreateObject("ADODB.Connection")
With connection
.Provider = "Microsoft.ACE.OLEDB.12.0"
.ConnectionString = "Data Source=" & ThisWorkbook.Path & "\" & ThisWorkbook.Name & ";" & _
"Extended Properties=""Excel 12.0 Xml;HDR=YES"";"
.Open
End With
Dim d1, r1 As Long
'get the last row with data
r1 = Worksheets(sheet_name).Cells(Rows.Count, 1).End(xlUp).Row
'clear old content
Worksheets("country").Range("A2:h" & r1).ClearContents
'Worksheets("country").Range("A2:h").ClearContents
'get the last row with data
d1 = Worksheets("data").Cells(Rows.Count, 1).End(xlUp).Row
'--- Write the SQL Query
If sheet_name = "country" Then
sql = "SELECT * FROM [data$a1:h" & d1 & "] where country_code='US' "
ElseIf sheet_name = "gender" Then
sql = "SELECT * FROM [data$a1:h" & d1 & "] where gender='Male' "
End If
'--- Run the SQL query
Set result = connection.Execute(sql)
'copy header
Sheets("data").Range("1:1").Copy Sheets(sheet_name).Range("1:1")
recordCount = 1
'--- Fetch information
Do
Dim i As Integer
For i = 0 To 7
Worksheets(sheet_name).Cells(recordCount + 1, i + 1).Value = result(i)
Next i
'insert data > id
'Worksheets("country").Cells(recordCount + 1, 1).Value = result(0)
result.MoveNext
recordCount = recordCount + 1
Loop Until result.EOF
End Sub
You spend weeks building a project.
Your client pays you.
Then the income stops.
Meanwhile, other developers are turning similar skills into products that generate revenue month after month.
A SaaS, plugin, web app, or digital product can continue bringing in customers long after it's launched.
The real question isn't whether you can build one.
It's how much money you're leaving on the table by not starting.
Learn How To Build Monthly Income →