Показать сообщение отдельно

  #7  
Старый 24.03.2009, 05:17
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


По умолчанию

вот, занеси нужное тебе словосочетание в ячейку A1, потом создай и запусти такой макрос:

Код:
Sub Macros5()

    ColumnIndex = 11
    ColumnIndex1 = 2
    Range("B1").Select
    ActiveCell.FormulaR1C1 = "=LEN(RC[-1])"
    Dim i As Long, sh As Long, len1 As Long
    len1 = Sheets(1).Cells(1, ColumnIndex1).Value
    For i = 2 To len1 Step 1
    sh = i - 1
    Range("C1").Select
    ActiveCell.FormulaR1C1 = "=LEFT(RC[-2]," & i & ")"
    Range("D1").Select
    ActiveCell.FormulaR1C1 = "=CODE(RC[-1])"
    Range("E1").Select
    ActiveCell.FormulaR1C1 = "=RIGHT(RC[-2],1)"
    Range("F1").Select
    ActiveCell.FormulaR1C1 = "=CODE(RC[-1])"
    Selection.Copy
    Range("K1").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Application.CutCopyMode = False
    If (Sheets(1).Cells(1, ColumnIndex).Value < 224) Then
       Range("G1").Select
       ActiveCell.FormulaR1C1 = "=LEFT(RC[-6]," & sh & ")"
       Range("H1").Select
       sh = len1 - i + 1
       ActiveCell.FormulaR1C1 = "=RIGHT(RC[-7]," & sh & ")"
       Range("I1").Select
       ActiveCell.FormulaR1C1 = "=CONCATENATE(RC[-2],"" "",RC[-1])"
       Columns("I:I").EntireColumn.AutoFit
       i = len1
    End If
    Next i
    
    
   End Sub
Сделано для одной строчки. Переделать под всю колонку - дело трех минут. Специально вывел все промежуточные данные в ячейки, чтобы была понятно логика действий. Т.е. фактически даже в таком дурацком случае можно обойтись средствами EXCEL только.
 
Ответить с цитированием