Макрос VBA для вставки рядка на основі активної клітини у рядку змінної


0

У мене є таблиця Excel, яка відстежує продаж подарункових сертифікатів і погашення. Іноді сума, що погашається (стовпець Q), є меншою, ніж загальна сума (колонка H). Сума погашення в даний час перетворюється на червону, щоб попередити співробітників, що є кредит, але вони потім вручну змінюють аркуш. Як написати макрос / ініціювати подію, щоб вставити рядок нижче активної клітинки у стовпці Q, щоб скопіювати вихідні дані рядка в новий рядок, змінити значення для ( H новий) до ( H оригінал - М оригінал), а потім H оригінал М оригінал. Я засунув, оскільки рядок змінюється, оскільки список розташований в алфавітному порядку.


Будь ласка, зверніть увагу, що superuser.com це не безкоштовна служба написання скриптів / кодів. Якщо ви розповісте нам про те, що ви пробували до цього часу (включайте скрипти / код, який ви вже використовуєте), і де ви застрягли, ми можемо спробувати допомогти з певними проблемами. Ви також повинні прочитати Як мені поставити хороше запитання? .
DavidPostill

Якщо ви не знаєте VBA, ознайомтеся з нею (є багато ресурсів в Інтернеті, в самому Excel і в Супер користувач ) і спробуйте вирішити проблему самостійно. Подивитися Як додати VBA у MS Office? для загальної інформації. Хороший спосіб почати - натиснути кнопку "Записати макрос" на вкладці "Розробник", пройти через дії, які потрібно автоматизувати, а потім натиснути кнопку "Зупинити запис" (таку ж кнопку, як і "Макрос запису"). Ваші натискання клавіш переводяться в еквівалент VBA. Якщо ви щось працюєте, але ви стикаєтеся з неприємностями, то можете повернутися до нас зі специфікою.
Scott

Відповіді:


0

На основі вашої основної проблеми можна використовувати наступний рядок, щоб вставити рядок нижче активної комірки.

'Insert row below active cell ActiveCell.Offset(1).EntireRow.Insert

На жаль, я не розумію призначення копії, вставляти рутину, яку ви намагалися пояснити. Але з командою Копіювати діапазон, я думаю, ви можете зробити свій шлях:

ActiveWorksheet.Range("A1:K" & your_variable_end_of_copy_area).Copy ActiveWorksheet.Range("your_variable_destination_to_insert")

Якщо вставити код, який ви вже маєте, я можу допомогти вам краще.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.