Я хотел бы сделать что-то вроде следующего, используя функции листа.

If cell (A1 = "ABC"), 
       then append to the begin of the cell B1 "ABC:" 
       and
       delete cell A1 and cell B1 becames A1, C1 -> B1 and so on

   else 
       append "" (or do nothing) - because in cell B2 I have already information

Это возможно? Или мне нужен VBA?

1 ответ1

1

Очевидно, вы не можете сделать это в Excel, используя простое выражение if. Вам нужно сделать это в VBA:

Public Sub StergeSTorOR()
Dim oRow As Range
Dim cell As Range
Dim i As Long, j As Long

    Application.ScreenUpdating = False

    For i = Selection(Selection.Count).Row To Selection.Cells(1, 1).Row Step -1

        For j = Selection(Selection.Count).Column To Selection.Cells(1, 1).Column Step -1

            If Cells(i, j).Value = "AB:" Or Cells(i, j).Value = "CD:" Then
                Cells(i, j + 1).Value = Cells(i, j).Value & Cells(i, j + 1).Value
                Cells(i, j).Delete shift:=xlShiftToLeft
                End If
        Next j
    Next i

    Application.ScreenUpdating = True
End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .