Добавить пробел после n-й запятой в Excel, Notepad ++ или emEditor?

Notepad ++ 6.8.8 Я хочу, чтобы иметь возможность запускать несколько строк, которые начинаются следующим образом:

0,2,3,45,67,89,01,234,567,890,123,4567,8901 0,7,8,9,0,11,12,13,14,151,162,173,184 x,z,q,r,n,f,t,a,e,f,z,n,a 

в

 0, 2,3, 45,67, 89,01, 234,567, 890,123, 4567,8901 0, 7,8, 9,0, 11,12, 13,14, 151,162, 173,184 x, z,q, r,n, f,t, a,e, f,z, n,a 

Пространство после начального 0, запятая (первое число с запятой после), а затем каждые 2 запятые, поместите пробел после запятой.

  • Не каждая строка начинается с 0 [ноль]. Может начинаться с любой цифры или периода . Иногда слова.
  • Я хочу, чтобы каждая строка обрабатывалась независимо; Поддерживать их отдельный контент линии (одна строка не может переноситься в другую при поиске чисел и запятых).

У меня может быть другая ситуация, когда мне нужно будет добавить пробел после запятой в группы по 4 после первой запятой. пример:

 x,z,q,r,n,f,t,a,e,f,z,n,a 

в

 x, z,q,r,n, f,t,a,e, f,z,n,a 

Notepad ++ – это предпочтительный способ сделать это (регулярные выражения, макрос и т. Д.), Но у меня есть EmEditor, MS Word / Excel 2010, если это поможет. Трудно записать такой макрос, потому что количество символов до / после каждой запятой может быть разным. Также объясните синтаксис, который вы используете, в случае необходимости корректировки.

Вот способ сделать это в excel, если вы вставляете свои строки в столбец A и меняете workRange на свой диапазон. Затем вы можете просто скопировать столбец A обратно в блокнот

Откройте Developer tab Excel Developer tab и выберите « Visual Basic [для приложений] или нажмите Alt + F11 .

Вкладка «Разработчик Excel». Скриншот VBA

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

 Option Explicit Public Sub notepadthing() Dim workingRange As Range 'Set your range here Set workingRange = Range("A1:A3") workingRange.TextToColumns _ Destination:=workingRange, _ DataType:=xlDelimited, _ TextQualifier:=xlTextQualifierNone, _ ConsecutiveDelimiter:=False, _ Tab:=False, _ Semicolon:=False, _ Comma:=True, _ Space:=False, _ Other:=False Dim lastColumn As Long Dim rowNumber As Long Dim columnNumber As Long Dim myString As String For rowNumber = 1 To workingRange.rows.count lastColumn = Cells(rowNumber, Columns.Count).End(xlToLeft).Column myString = Cells(rowNumber, 1) & ", " For columnNumber = 2 To lastColumn - 1 myString = myString & Cells(rowNumber, columnNumber) & "," If columnNumber Mod 2 <> 0 Then myString = myString & " " Next Cells(rowNumber, 1) = myString & Cells(rowNumber, lastColumn) Next Application.ScreenUpdating = True End Sub 

Сделайте таблицу, которую вы хотите отформатировать в текущей электронной таблице. Вернитесь в окно VBA и нажмите кнопку « Run (выглядит как кнопка воспроизведения на DVD или музыкальном проигрывателе)

Модуль вывода Excel VBA

Это всего лишь текст столбцам и конкатенация. Я уверен, что есть более простой способ сделать это.


Как работает интервал –

 For columnNumber = 2 To lastColumn - 1 myString = myString & Cells(rowNumber, columnNumber) & "," If columnNumber Mod 2 <> 0 Then myString = myString & " " Next Cells(rowNumber, 1) = myString & Cells(rowNumber, lastColumn) 

Он всегда добавляет , но вы можете решить, когда он добавляет пробел , Сейчас столбец 1 сидит один. Поэтому, когда мы проходим через столбцы, для нечетных столбцов требуется номер столбца пространства columnnumber Mod 2 <> 0 .

Чтобы изменить это, вам нужно работать по логике: после столбца 1 есть пробел, а затем мне нужны группы из 4, поэтому столбец 5, столбец 9, столбец 13. Но это трудные числа, с которыми можно работать, и они просто выключены 1 к натуральным кратным четырем. Поэтому, если я вычитаю один, а затем проверяю делимый на четыре.

 If (columnNumber - 1) Mod 4 = 0 Then myString = myString & " " 
  • Как заменить текст в теле входящего сообщения гиперссылкой в ​​Outlook 2010?
  • Кнопка добавления / вычитания Excel VBA
  • Как проверить пустой массив в макросе vba
  • Integer Vs Long Confusion
  • Использование кода VBA, как экспортировать листы Excel в качестве изображения в Excel 2003?
  • Попытка открыть книгу в отдельном экземпляре
  • Как объединить строки в столбце в одну ячейку в excel?
  • Скребок сети супермаркетов Аргентины
  • Создание документов Word (в Excel VBA) из серии шаблонов документов
  • Когда переменная Excel VBA должна быть убита или установлена ​​в Nothing?
  • Как определить последний ряд, используемый в VBA, включая пробелы между
  • Давайте будем гением компьютера.