I am trying to add values to the end of a table in Excel. When I run the Macro, a row is added to each of the tables, even through the values are only added to the table specified in the If Statement. Code is below:
Sub AddQuoteNumbers()
'ListObject is a Table in a Worksheet'
Dim tbl As ListObject
Dim tb2 As ListObject
Dim tb3 As ListObject
Set tbl = Worksheets("quote1").ListObjects("Table1")
Set tb2 = Worksheets("quote2").ListObjects("Table2")
Set tb3 = Worksheets("quote3").ListObjects("Table3")
'ListRows allows us to Add or Delete Rows'
Dim NewRow1 As ListRow
Dim NewRow2 As ListRow
Dim NewRow3 As ListRow
Set NewRow1 = tbl.ListRows.Add
Set NewRow2 = tb2.ListRows.Add
Set NewRow3 = tb3.ListRows.Add
If Worksheets("Template").Range("H5") = "quote1" Then
With NewRow1
.Range(1) = Worksheets("Template").Range("B9")
.Range(3) = Worksheets("Template").Range("B8")
.Range(4) = Worksheets("Template").Range("H4")
.Range(5) = Worksheets("Template").Range("B13")
End With
Else
If Worksheets("Template").Range("H5") = "quote2" Then
With NewRow2
.Range(1) = Worksheets("Template").Range("B9")
.Range(3) = Worksheets("Template").Range("B8")
.Range(4) = Worksheets("Template").Range("H4")
.Range(5) = Worksheets("Template").Range("B13")
End With
Else
If Worksheets("Template").Range("H5") = "quote3" Then
With NewRow3
.Range(1) = Worksheets("Template").Range("B9")
.Range(3) = Worksheets("Template").Range("B8")
.Range(4) = Worksheets("Template").Range("H4")
.Range(5) = Worksheets("Template").Range("B13")
End With
End If
End If
End If
End Sub
I only want a row to be added to the table specified by the If/With Statement.
If the value in H5 = "quote1" I only want it added to quote1 table.