try replacing:
.TextFileCommaDelimiter = True
with:
.TextFileOtherDelimiter = ";"
(or just add that line before .refresh.
Is column R blank where you're wanting the id numbers? If not you can delete them first with a ClearContents:
Dim txtFileName As Variant
Dim destCell As Range
Dim qt
Set destCell = Worksheets("TestingImport").Cells(Rows.Count, "A").End(xlUp).Offset(1)
If destCell.Row < 9 Then Set destCell = Worksheets("TestingImport").Range("A9")
txtFileName = Application.GetOpenFilename(FileFilter:="TXT Files (*.txt),*.txt", Title:="Select a TXT File", MultiSelect:=False)
If txtFileName = False Then Exit Sub
Set qt = destCell.Parent.QueryTables.Add(Connection:="TEXT;" & txtFileName, Destination:=destCell.Cells(1, 1))
With qt
.TextFileStartRow = 2 'this leaves the header away
.TextFileParseType = xlDelimited
.TextFileCommaDelimiter = True 'you might not need this line at all - it might even be better to make it False
.TextFileOtherDelimiter = ";" 'add or replace line above
.RefreshStyle = xlOverwriteCells '<<changed/added
.Refresh BackgroundQuery:=False
With Intersect(.ResultRange.EntireRow, .Parent.Range("R:R"))
.ClearContents '<<add
.Cells(1) = 1
.DataSeries Rowcol:=xlColumns, Type:=xlLinear, Date:=xlDay, Step:=1, Trend:=False
End With
End With
destCell.Parent.QueryTables(1).Delete