Я считаю, что ваша проблема в этом сравнении
Left(Cells(2, 1).Offset(i, 0), 1) = LCase(Left(Cells(2, 1).Offset(i, 0), 1))
Left(Cells(2, 2).Offset(i, 0), 1) = UCase(Left(Cells(2, 2).Offset(i, 0), 1))
вы проверяете значение ячейки, но не значение, которое вы читаете из текстового файла
попробуйте это
Public Sub uzd3()
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogOpen)
Dim filename As String
If fd.Show = -1 Then
'filename = fd.SelectedItems(1)
'MsgBox ("The path is: " & filename)
Open "C:\Users\KlaavsZK\Desktop\uzd3.txt" For Input As #1
Else
MsgBox ("No file selected")
Exit Sub
End If
Dim txt As String
Dim i As Integer
Cells(1, 1) = "Lielais sakuma burts"
Cells(1, 2) = "mazais sakuma burts"
i = 0
Do Until EOF(1)
Line Input #1, txt
If Left(txt, 1) = LCase(Left(txt, 1)) Then
Cells(2, 1).Offset(i, 0) = txt
ElseIf Left(txt, 1) = UCase(Left(txt, 1)) Then
Cells(2, 2).Offset(i, 0) = txt
End If
i = i + 1
Loop
Close #1
End Sub
Удачи