1

Тема: Простые (для умельцев) задачи

Есть файл Эксель в несколько тысяч строк.
1. Один столбец имеет вид хххх-хххх (х - цифры, но могут быть иные символы - опечатки). Надо его разбить на два, чтоб в первом для каждой строки остались цифры, стоящие до дефиса, во втором - после дефиса (сам дефис тоже не нужен).
Как вариант, можно столбец этот скопировать и вставить рядом (получатся два одинаковых), тогда в первом надо удалить все, что до дефиса, вместе с дефисом, во втором - все, что после дефиса (тоже вместе с ним).
Т. е. сейчас ячейка 1234-5678, нужно из нее сделать две ячейки:
1234 | 5678

2. И еще, есть некий столбец, надо, не удаляя содержимое ячеек, во все ячейки добавить несколько символов (одних и тех же), а) спереди имеющегося текста и б) сзади. Только для одного столбца.

Прошу помочь. Спасибо.

2

Re: Простые (для умельцев) задачи

По первому вопросу, нашел функцию разделения столбцов, спасибо всем промолчавшим smile  Но, если после дефиса цифры (например) 0050, они после разделения отображаются как 50. Пока не понял, как это победить.

3

Re: Простые (для умельцев) задачи

alalexsh пишет:
glavsnab пишет:

По первому вопросу, нашел функцию разделения столбцов, спасибо всем промолчавшим smile  Но, если после дефиса цифры (например) 0050, они после разделения отображаются как 50. Пока не понял, как это победить.

Форматировать столбцы в текстовый вариант - для этого выделить столбец (ячейки), затем правой клавишей мыши по выделенному диапазону -

А ещё запишите макрорекордером свои действия и не придётся лишние кнопки жать. А если добавить пару строк от себя (например, чтобы на весь столбец до последней записи работало или на определённое кол-во строк, то вообще будет бомба. А по второму вот вам первая ссылка из гугла, т.к. самому лень расписывать:
внешняя ссылка
Тоже можно записать макрорекордером.

Спасибо можно перевести на WebMoney-кошелёк R378231864568 или на Яндекс-деньги 410015093172871

4

Re: Простые (для умельцев) задачи

есть столбец вида

5

Re: Простые (для умельцев) задачи

есть столбец вида "ххх0-?", ххх - цифры, надо эти нули (четвертый символ) заменить на 1, т. е. должно получиться "ххх1-?". Первые три цифры (в т. ч. они и нулями могут быть) не должны измениться.
Иногда может попадаться иной тест, не "ххх0-?", в таких строках ничего не менять.
Заранее спасибо.

6

Re: Простые (для умельцев) задачи

glavsnab пишет:

есть столбец вида "ххх0-?", ххх - цифры, надо эти нули (четвертый символ) заменить на 1, т. е. должно получиться "ххх1-?". Первые три цифры (в т. ч. они и нулями могут быть) не должны измениться.
Иногда может попадаться иной тест, не "ххх0-?", в таких строках ничего не менять.
Заранее спасибо.

Если в столбце заменяемые строки будут вида "ххх0-...", т.е. первые три - числа, четвёртое значение "0", а пятое - тире, то вам достаточно будет запустить такой макрос, предварительно установив курсор первую строку таблицы (или в строку, с которой вы хотите начать обработку данных):

Sub Replacing()
Dim oWB As Workbook
Dim oList As Worksheet
Set oWB = ActiveWorkbook
Set oList = oWB.ActiveSheet
Set oCell = ActiveCell
iRow = oCell.Row
iCol = oCell.Column
iRowsCount = Cells(Rows.Count, iCol).End(xlUp).Row
For i = iRow To iRowsCount
    sText = oList.Cells(i, iCol).Value
    sFirst = Left(sText, 1): sSecond = Mid(sText, 2, 1): sThird = Mid(sText, 3, 1): sFourth = Mid(sText, 4, 1): sFifth = Mid(sText, 5, 1)
    If IsNumeric(sFirst) = True And IsNumeric(sSecond) = True And IsNumeric(sThird) = True And sFourth = 0 And sFifth = "-" Then
        sReplace = Left(sText, 3) & 1 & Right(sText, Len(sText) - 4)
        oList.Cells(i, iCol).Value = sReplace
    End If
Next i
End Sub
Спасибо можно перевести на WebMoney-кошелёк R378231864568 или на Яндекс-деньги 410015093172871

7

Re: Простые (для умельцев) задачи

Отличный топик