Sub ImportData()
Dim WS As Worksheet
Dim FN As Variant
Dim FF As Integer
Dim MyArray As Variant
Dim Path As String
Dim A As Long
Dim Temp$
Dim iFound As Long
Set WS = ActiveWorkbook.Worksheets(1)
FN = Application.GetOpenFilename("Text Files (*.txt), *.txt")
If FN <> False Then
FF = FreeFile
Open FN For Input As #FF
Do Until EOF(FF)
Line Input #FF, Temp$
'Second Keywords on same line are skipped since it will be parsed at same time.
MyArray = Array("SOFTWARE:", "EPHEMERIS:", "FIXED AMB:", "OBS USED", "OVERALL RMS:", "LAT:", _
"W LON:", "EL HGT:", "ORTHO HGT:", "THE ERROR FOR")
For A = 0 To UBound(MyArray)
iFound = InStr(Temp$, MyArray(A))
If iFound > 0 Then
Select Case MyArray(A)
Case "SOFTWARE:"
'WS.Range("O30").Value = Trim(Mid(Temp$, 13, 51 - 13))
SetMergedCellValue 30, 15, Trim(Mid(Temp$, 13, 51 - 13))
'START is on same line as software, so we parse it here.
WS.Range("G33").Value = Trim(Mid(Temp$, 59, 80 - 59))
SetMergedCellValue 33, 7, Trim(Mid(Temp$, 52, 80 - 52))
Case "EPHEMERIS:"
'WS.Range("O29").Value = Trim(Mid(Temp$, 13, 51 - 13))
SetMergedCellValue 29, 15, Trim(Mid(Temp$, 52, 80 - 52))
Case "OBS USED:"
'WS.Range("O32").Value = Trim(Mid(Temp$, 77, 80 - 77))
SetMergedCellValue 33, 7, Trim(Mid(Temp$, 77, 80 - 77))
Case "FIXED AMS:"
'WS.Range("O31").Value = Trim(Mid(Temp$, 77, 80 - 77))
SetMergedCellValue 33, 7, Trim(Mid(Temp$, 77, 80 - 77))
Case "OVERALL RMS:"
'WS.Range("O33").Value = Trim(Mid(Temp$, 59, 80 - 59))
SetMergedCellValue 33, 15, Trim(Mid(Temp$, 59, 80 - 59))
Case "LAT:"
'WS.Range("G18").Value = Trim(Mid(Temp$, 13, 29 - 13))
SetMergedCellValue 18, 7, Trim(Mid(Temp$, 13, 29 - 13))
Case "W LON:"
'WS.Range("G19").Value = Trim(Mid(Temp$, 13, 29 - 13))
SetMergedCellValue 19, 7, Trim(Mid(Temp$, 13, 29 - 13))
Case "EL HGT:"
'WS.Range("G20").Value = Trim(Mid(Temp$, 13, 29 - 13))
SetMergedCellValue 20, 7, Trim(Mid(Temp$, 13, 29 - 13))
Case "ORTHO HGT:"
'WS.Range("G21").Value = Trim(Mid(Temp$, 13, 29 - 13))
SetMergedCellValue 21, 7, Trim(Mid(Temp$, 13, 29 - 13))
' Case "THE ERROR FOR:"
' WS.Range("M29").Value = Trim(Mid(Temp$, 13, 51))
End Select
End If
Next
Loop
Close #FF
End If
End Sub
Sub SetMergedCellValue(iRow As Integer, iColumn As Integer, sNewInfo As String)
Dim mRange As Excel.Range
Set mRange = ActiveSheet.Cells(iRow, iColumn).MergeArea
mRange.Cells(1, 1).Value = sNewInfo
End Sub
Bookmarks