Товарищи, снова без вашей помощи никак. Пишу макрос, не работает. Есть столбец со словами и цифрами разной длины. Нужно поделить его на два столбца по словам, в первом (соседнем) должно быть 35 символов и меньше (на конце не должно быть пробела), во втором (соседний через 2) все оставшееся. Если изначально 35 и меньше символов, просто скопировать в соседний столбец. Есть тонкость, если в исходном столбце на конце восклицательный знак и вместе с ним 36 символов, то удалить восклицательный знак и скопировать в соседний столбец. Писать начала, но бросила, не идет
[vba]
Код
Sub символов() Dim cel As Variant 'ячейка - переменная Dim prom As Single 'промежуточное хранение содержимого ячейки Dim simvol As Single 'количество символов в ячейке
For Each cel In Selection.Cells simvol = Len(cel.Value) If simvol > 35 Then If simvol = 36 And Right(cel.Value, 1) = "!" Then cel(LastCol + 1, LastRow).Value = Left(cel.Value, Len(cel.Value) - 1) Else
prom = "=SUBSTITUTE(MID(RIGHT("" ""&SUBSTITUTE(cel.Value,"" "",REPT("" "",999)),999*1),1,999),"" "","""")" simvol = Len(prom) If simvol >= 36 Then
prom = "=TRIM(MID(RIGHT("" ""&SUBSTITUTE(cel.Value,"" "",REPT("" "",999)),999*2),1,999*2))" simvol = Len(prom) If simvol >= 36 Then
prom = "=TRIM(MID(RIGHT("" ""&SUBSTITUTE(cel.Value,"" "",REPT("" "",999)),999*3),1,999*3))" simvol = Len(prom) If simvol >= 36 Then
cel(LastCol + 1, LastRow).Value = prom End If Next
End Sub
[/vba]
Товарищи, снова без вашей помощи никак. Пишу макрос, не работает. Есть столбец со словами и цифрами разной длины. Нужно поделить его на два столбца по словам, в первом (соседнем) должно быть 35 символов и меньше (на конце не должно быть пробела), во втором (соседний через 2) все оставшееся. Если изначально 35 и меньше символов, просто скопировать в соседний столбец. Есть тонкость, если в исходном столбце на конце восклицательный знак и вместе с ним 36 символов, то удалить восклицательный знак и скопировать в соседний столбец. Писать начала, но бросила, не идет
[vba]
Код
Sub символов() Dim cel As Variant 'ячейка - переменная Dim prom As Single 'промежуточное хранение содержимого ячейки Dim simvol As Single 'количество символов в ячейке
For Each cel In Selection.Cells simvol = Len(cel.Value) If simvol > 35 Then If simvol = 36 And Right(cel.Value, 1) = "!" Then cel(LastCol + 1, LastRow).Value = Left(cel.Value, Len(cel.Value) - 1) Else
prom = "=SUBSTITUTE(MID(RIGHT("" ""&SUBSTITUTE(cel.Value,"" "",REPT("" "",999)),999*1),1,999),"" "","""")" simvol = Len(prom) If simvol >= 36 Then
prom = "=TRIM(MID(RIGHT("" ""&SUBSTITUTE(cel.Value,"" "",REPT("" "",999)),999*2),1,999*2))" simvol = Len(prom) If simvol >= 36 Then
prom = "=TRIM(MID(RIGHT("" ""&SUBSTITUTE(cel.Value,"" "",REPT("" "",999)),999*3),1,999*3))" simvol = Len(prom) If simvol >= 36 Then