Excel - Призначення макросів для всіх жовтих виділених комірок
![](http://img.brin-designs.com/img/games/158/excel-assign-macro-all-yellow-highlighted-cells.png)
Проблема
Здравствуйте, я в даний час в маринаді ... Я сподіваюся, що всі майстри могли б допомогти цьому VBA noob ...
Зараз я написав макрос для копіювання всіх формул без збереження значення на активних клітинах, і я хотів би застосувати цей макрос до всіх жовтих виділених жовтих клітин в електронній таблиці .... Як це зробити ???
мій поточний код просто
(Я до сих пір не можу подумати, що робити, щоб тільки жовті виділені клітинки містили цей макрос)
Sub Copy_Formulas_Only () Дим-рядок як одиночний рядок = ActiveCell.row Selection.EntireRow.Insert Rows (рядок-1) .Copy Rows (рядок) .Select On Error Resume Next Selection.PasteSpecial Paste: = xlPasteFormulas Selection.SpecialCells (xlCellTypeConstants). ClearContents On Error Помилка GoTo 0 Application.CutCopyMode = Помилка Sub
Рішення
Він буде спрацьовувати, коли ви виберете діапазон клітинки. Але, напевно, ви краще знаєте, що потрібно робити.
Приватний Sub Worksheet_SelectionChange (ByVal Цільовий як діапазон) Application.EnableEvents = False 'Якщо Target.Address = "ВСЯ ЖОВТА КЛІТИНА НА РОБОТУ" Тоді для кожної КЛІТИНИ У ЦІЛІ Якщо (CELL.Interior.Color = 65535) Тоді Дим рядок як Єдиний row = ActiveCell.row Selection.EntireRow.Insert Rows (row - 1) .Copy Rows (рядок). Select On Error Відновити наступний вибір.PasteSpecial Paste: = xlPasteFormulas Selection.SpecialCells (xlCellTypeConstants) .ClearContents Application.EnableEvents = True On Error GoTo 0 End If Next Application.CutCopyMode = Sub false
Примітка
Завдяки rizvisa1 за цей відгук на форумі.