Я студент 1 курса и мне нужна помощь.
Вопрос такой. Дано задание, где мне нужно ввести в блокноте числа и написать код, что бы он выводил в столбец A четные числа, в столбец B не чётные.
Я понимаю тут нужно просто перенести информацию и делить на 2, если без остатка то в таблицу А, если есть остаток, то в таблицу В. Вроде всё продумано, но мозгов написать не хватает.
Макрос вставляет данные на активный эксель-лист. Активный лист - это лист, который отображается на мониторе.
В пункте 1 укажите полное имя (путь + имя) текстового файла.
На конце текстового файла не должно быть пустой строки, иначе будет run-ошибка.
Макрос
Sub макрос()
Dim var, lr As Long
'1. Открытие текстового файла. При этом мы присваиваем файлу имя "1".
' Далее в коде будем обращаться к файлу по имени '1'.
Open "C:\Users\User\Desktop\Новый текстовый документ.txt" For Input As #1
'2. Копирование данных из текстового файла на активный эксель-лист.
' Двигаемся по строкам файла, пока не дойдём до последней строки файла.
Do While Not EOF(1)
'1) Запись текущей строки из файла в переменную 'var'.
Line Input #1, var
'2) Переводим число из типа String в тип Double, чтобы с ним можно было работать, как с чилом.
var = CDbl(var)
'3) Если число чётное.
If var Mod 2 = 0 Then
' Поиск последней строки в столбце A. End не ищет в скрытых строках.
lr = Cells(Rows.Count, "A").End(xlUp).Row + 1
' Копирование данных из переменной 'var' в эксель-ячейку.
Cells(lr, "A").Value = var
'4) Если число нечётное.
Else
lr = Cells(Rows.Count, "B").End(xlUp).Row + 1
Cells(lr, "B").Value = var
End If
Loop
'3. Закрытие текстового файла.
Close #1
'4. Сообщение.
MsgBox "Готово.", vbInformation
End Sub
Большое спасибо, выручили.