Paul - I think this is the right idea. I've edited my loop to include the following bolded If statement:
Do Until EOF(1)
Line Input #1, InData
SheetName = GetSubString(InData, Chr(9), 1)
NamedRng = GetSubString(InData, Chr(9), 2)
NewVal = GetSubString(InData, Chr(9), 3)
Set WS = ThisWorkbook.Sheets(SheetName)
Target = NamedRng
If WS.Range(NamedRng).Count > 1 Then
WS.Range(NamedRng).Cells(0 + r, 0 + c) = NewVal
c = c + 1
Else
WS.Range(Target) = NewVal
End If
Loop
Where r and c are set to 1. This works correctly for the first row of the named range, but I need to find a way to set r = r + 1 once the last column of the row is written in. Any ideas?