Днес ми се наложи да добавям доста редове в Excel таблица, която беше предварително форматирана. Добавянето и форматирането на редовете един по един е хамалска работа, затова реших да напиша простичък макрос на VBA, който да свърши работата. Кода на макроса е:
Private Sub CommandButton1_Click()
ActiveCell.Offset(1).EntireRow.Insert
ActiveCell.EntireRow.Copy
ActiveCell.Offset(1).EntireRow.PasteSpecial Paste:=xlPasteFormats, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End Sub |
Private Sub CommandButton1_Click()
ActiveCell.Offset(1).EntireRow.Insert
ActiveCell.EntireRow.Copy
ActiveCell.Offset(1).EntireRow.PasteSpecial Paste:=xlPasteFormats, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End Sub
Кода го вкарвам в Shee-та:

За да го стартирам се вижда, че съм използвал бутон, вкаран в Shee-та:

Екселския файл може да се изтегли от тук: Excel VBA add row
Ето и едно видео, което показва цялата операция:
Excel VBA add row
[flv:https://blog.nediko.info/examples/excel_VBA_add_row/Add_row.flv https://blog.nediko.info/wp-content/uploads/2012/06/excel_addrow_03.jpg 472 388]