К сожалению, при импорте текстового файла в электронную таблицу Excel в конце остались ненужные запятые. Убирать лишние запятые в ячейках становится действительно сложно. Если вы пытаетесь исправить это вручную, то это займет много времени. Однако с кодом макроса это будет намного проще .

В этой статье мы сосредоточимся на том, как удалить нежелательные запятые и сохранить там, где это необходимо. Всегда лучше начинать с очистки данных, чтобы избежать ошибок на более позднем этапе и составлять отчеты, которые в противном случае могли бы быть очень беспокойными, и никто не хочет тратить свое время на переделку.

Если вы обнаружите ненужные запятые в данных, вы можете удалить их с помощью различных функций, таких как ОБРЕЗАТЬ, ПОДСТАВИТЬ, НАЙТИ, LEN, REPLACE, или вы можете использовать НАЙТИ И ЗАМЕНИТЬ (CTRL + H). Вы можете выбрать один из нескольких способов их удаления.

В этой статье мы сосредоточимся на том, как удалить ненужные запятые из импортированных файлов CSV, а затем сохранить их после завершения очистки с помощью кода VBA.

Вопрос: Пожалуйста, обратитесь к образцу txt файла во вложении. Мне нужен код vb, чтобы удалить последние 8 символов строки №5. Для получения дополнительной информации по вопросу вы можете щелкнуть по http://www.excelforum.com/excel-programming-vba-macros/1092402-vb-code-to -delete-last-character.html [ссылка]

Ниже приведен снимок файла блокнота:

img1

Строка №5 содержит следующий текст в «RX408282,20150630 ,,,,,,,,»

в то время как это должно быть «RX408282,20150630» * и в то же время код VBA не должен удалять запятую в приведенных выше 4 строках.

Чтобы получить код, нам нужно выполнить следующие шаги для запуска редактора VB:

Щелкните вкладку «Разработчик». В группе «Код» выберите Visual Basic

img2

  • Скопируйте приведенный ниже код в стандартный модуль

Sub test()

Dim fn As String, txt As String

fn = Application.GetOpenFilename("TextFiles,*.txt")

If fn = "" Then Exit Sub

txt = CreateObject("Scripting.FileSystemObject").OpenTextFile(fn).ReadAll

With CreateObject("VBScript.RegExp")

.Global = True: .MultiLine = True

.Pattern = ",+$"

Open Replace(fn, ".txt", "_Clean.txt") For Output As #1

Print #1, .Replace(txt, "")

Close #1

End With

End Sub

img3

===

Пояснение к коду:

  • Приведенный выше код сначала попросит вас выбрать файл, в котором он находится

===

img4

===

После запуска кода мы получаем выходной файл с именем * Test_Clean

img5

  • Чтобы проверить, работает ли код нормально или нет; давайте откроем файл .txt и просмотрим результаты

img6

Мы можем видеть последнюю строку, то есть строку №5, в которой раньше были нежелательные запятые в конце, теперь она исправлена. Заключение: * Таким образом, мы можем удалить лишние запятые из указанной папки, а затем сохранить правильные данные в другом файле блокнота.

image 48 If you liked our blogs, share it with your friends on Facebook. And also you can follow us on Twitter and Facebook.

Мы будем рады услышать от вас, дайте нам знать, как мы можем улучшить, дополнить или усовершенствовать нашу работу и сделать ее лучше для вас. Напишите нам на [email protected]