Я записал макрос для нижеуказанного excel: -
Код макроса: -
Sub Macro4()
'
' Macro4 Macro
'
' Keyboard Shortcut: Ctrl+Shift+D
'
Columns("B:B").Select
Selection.Insert Shift:=xlToRight
Range("B1").Select
ActiveCell.FormulaR1C1 = "P"
Range("B1").Select
Selection.AutoFilter
ActiveSheet.Range("$A$1:$C$13").AutoFilter Field:=3, Criteria1:="Credit"
Range("B3").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=-RC[-1]"
Range("B3").Select
Selection.Copy
Range("A3").Select
Selection.End(xlDown).Select
Range("B12").Select
Range(Selection, Selection.End(xlUp)).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("B11").Select
ActiveSheet.Range("$A$1:$C$13").AutoFilter Field:=3, Criteria1:="Debit"
Range("B2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=RC[-1]"
Range("B2").Select
Selection.Copy
Range("A2").Select
Selection.End(xlDown).Select
Range("B13").Select
Range(Selection, Selection.End(xlUp)).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.End(xlUp).Select
ActiveSheet.ShowAllData
Columns("B:B").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("B2").Select
Application.CutCopyMode = False
Columns("A:B").Select
Selection.NumberFormat = "#,##0.00_ ;[Red]-#,##0.00 "
Range("B1").Select
Selection.AutoFilter
End Sub
Это дает результат: -
Когда я пытаюсь использовать тот же макрос в приведенном ниже Excel: -
Это дает следующий результат.
На самом деле, я не знаю, сколько там будет цен, так как можно редактировать мой макрос таким образом, чтобы он выделял весь диапазон до последней строки