Good spot jdelano,

I have included that in the below. I got the below to work after having a play (not all of your setting for the chart are included and i set it to xlLine):
Sub Create_Dynamic_Chart()
    Dim sht As Worksheet
    Dim chrt As Chart
    Dim data_rng As Range
    Dim dRange As Range
    
    Set sht = ActiveSheet
    Set dRange = Range("A2") ' dropdown
    
    Select Case dRange.Value
        Case "Charleville"
            Set data_rng = Range("tblCharlevilleTemps")
        Case "Dalby"
            Set data_rng = Range("tblDalbyTemps")
        Case "Toowoomba"
            Set data_rng = Range("tblToowoombaTemps")
        Case "Warwick"
            Set data_rng = Range("tblWarwickTemps")
    End Select
    
    Set chrt = sht.Shapes.AddChart2(Style:=-1, Width:=900, Height:=200, Left:=Range("G2").Left, Top:=Range("G2").Top).Chart
    
    With chrt
        .SetSourceData Source:=Range(data_rng.Address(, , , 1))
        .ChartType = xlLine
        .SetElement (msoElementChartTitleAboveChart)
        .ChartTitle.Text = Range("A1").Value & " Min & Max Temps"
    End With
End Sub
You could also do the same with less code:
Sub Create_Dynamic_Chart2()
    Dim chrt As Chart
    
    Set chrt = ActiveSheet.Shapes.AddChart2(Style:=-1, Width:=900, Height:=200, Left:=Range("G2").Left, Top:=Range("G2").Top).Chart
    With chrt
        .SetSourceData Source:=Range(Range("tbl" & Range("A2").Value & "Temps").Address(, , , 1))
        .ChartType = xlLine
        .SetElement (msoElementChartTitleAboveChart)
        .ChartTitle.Text = Range("A2").Value & " Min & Max Temps"
    End With
End Sub