Как да накараме ексел да маркира последна празна клетка според съседна клетка с информация?
Как да накараме ексел да маркира последната празна клетка, като се съобразява с последната клетка със стойност в съседната колона. Примерно А има информация до А10 и искаме в Б да се маркират всички клетки и от Б1 до Б10. Благодаря предварително
Здравей, може да го направиш посредством Conditional formatting.
На снимка 1 позиция 1 и 2 е примера, който ти споменаваш във въпроса си.
Идеята е щом в клекта А1 (A2,3,....10) има информация, то в B1 (B2,3,....10) може да няма нищо записано, НО тя да се оцветя. Съответно добавайки, неще в следващата клетка A11 (снимка 2 позиция 1), това автоматично да се отрази на клетка B11 и тя да се оцвети (снимка 2 позциия 2)
Ето в няколко стъпки как може да бъде постигнато това.
Селектирам цялата колона B, кликвам горе на B (снимка 3 позциия 1), отивам на в раздела Home (снимка 3 позиция 2) и кликвам на Conditional Formatting (снимка 3 позиция 3) и от падащото меню избирам New Rule (снимка 4 позиция 1).
Отваря се прозорец New Formatting Rule (снимка 4 позиция 1), селектираме раздела Use a formula to determine which cells to format (снимка 4 позиция 2), в полето записваме следната формула =$А1>0 с тази формула задаваме условието за форматиране на колона B, a именно ако в An клетката има стойност, ТО ми форматирай клетката В с някакъв цвят.След това кликваме на бутона Format (снимка 4 позиция 3) за да изберем цвета в който ще се оцветяват клетките, отваряни се прозореца Формат Cells (снимка 4 позиция 4), след което отивам в раздела Fill (снимка 4 позиция 5) и избираме цвета в който да се оцвети (снимка 4 позиция 6) клетката, избираме ОК (снимка 4 позиция 7) за да запазим промените по форматирането и ОК (снимка 4 позиция 8) за да запазим промените по създаденото условие.
Резултатът е на снимка 5.
Надявам се да съм бил полезен с отговора.
Благодаря много за изчерпателния отговор, имам още един въпрос, как да задам една формула да се копира до последна празна клетка в Б например, ако А има стойност до А50 например. Това се опитвам да направя с един макрос, но съм задала стойност до 10 000 и все трябва да трия излишните формули. Надявам се, че е ясно, какво точно питам :) и отново сърдечно благодаря за бързата реакция! Поздрави, Валентина
Здравей,
Ако данните ти са форматирани като Table (Ctr+T), следва при въвеждане на всеки следващ ред в клетка A, да се попълва и форулата записана в клетка B.
На снимка 1 позиция 1 съм направил таблица въвел съм стойност в клетка A7 (снимка 1 позиция 2), в клетка B имам формула (снимка 1 позиция 3), тя веднага се е записала, в клетки C7, D7 (снимка 1 позиция 4) имам стойнсоти който трябва да въведа ръчно.
А по отношение на VBA -а, не знам докъде си минала през курса, но смятам че ако преминеш през целия това което ти показах по-горе с таблицата мисля че ще можеш да го напишеш и във VBA код.
Малкият триъгълник в долния десен ъгъл на таблицата ни позволява да добавяме(или премахваме) редове или колони, според необходимото. Важно е да отметнем прозорчето на функцията Total Row (позиция 2 на втората картина). Под таблицата ще се появи нов ред Total Row, а при клик в клетка Prod1 ще се покаже падащо меню с опции, от които можем да изберем това, което ни е ноебходимо. Накрая правим сумиране(най-вероятно) на данните И финалният резултат Дано е станало ясно! Лек ден и успехи!
Благодаря много и на двамата, само че при мен таблица не е форматирана и не е удачно да я форматирам. За VBA курса съм още в началото,т.е. до трети модул. Аз съм написала макро, в таблицата, с която работя да направи формула например сбор от две числа в С, а в А и Б имаме 1 и респективно 2, в С ще се изпише 3 като сбор от формулата, но надолу е празна колоната и всеки път числата в А и Б са различни на брой, т.е. таблицата не е статична. Та не ми е ясно как мога да накарам формулата да се разпространи до последната активна клетка спрямо А и Б. Защото в С няма никакви стойностти. Благодаря за отделеното време, за да ми отговорите! Поздрави, Валентина
Г-жо Слабакова, може ли да изпратите снимка да се види за какво точно става въпрос? Лек ден!
Може да се ползва и формулата =$D1<>"" на мястото, което е посочил г-н Кръстев в Conditional Formating. Резултат: Ако напишем нещо в празните клетки, те ще се запълнят автоматично с избраният от нас цвят при форматирането. Лек ден и успехи!
Извинения, примерът , който съм дал на втората картина, не е коректен, но формулата е вярна и може да се приложи. Дано е станало ясно! Лек ден, успехи и още веднъж - ИЗВИНЕНИЯ!
Здравейте и много благодаря за отделеното време и енергия за отговор, ето един пример какво точно имам предвид.
Вие и двамата сте отговорили прекрасно на първоначалния ми въпрос, но аз не съм го задала правилно. Записах кратко видео какво точно имам предвид и линка е: https://aula.bg/u/Mjc4ODlxMzY3MA Линка го преписах, защото не успях да го поставя, та да обясня при вече записан макрос, който взима сбор от клетка А и Б в Ц и трябва формулата да се копира до долу, но все ден броя на стойност в клетки А и Б е различен. При мен макроса изпълнява формулата и после ръчно кликам в долния десен ъгъл на клетката, за да се разпространи до последната клетка спрямо А и Б(нали в Ц е сбор). Надявам се, че този път съм обяснила по-коректно и отново сърдечно благодаря за времето и усилията Ви! Поздрави, Валентина
Г-жо Слабакова, както разбирам, данните се променят всеки ден. Тогава да форматираме цялата колона С в този случай. Вижда се, че сме маркирали клетка С2, натискаме комбинацията Ctrl+ Shift+ стрелка надолу и цялата колона С е маркирана. Връщаме се в началото чрез плъзгача отстрани и пишем в клетка С2 показаната формула. Издърпваме надолу за да получим резултата. Когато добавим следващите стойности след края на таблицата, сборът ще се получи в колона С след като сме натиснали стрелка надясно. Стрелка 4 показва новите стойности - за улеснение, те са с друг размер и цвят. Дано е станало ясно. Лек ден и успехи!
За протокола - числото 1 048 576 или 2 на степен 20, т.е. 2^20, показва броят на редовете в един лист(sheet). Броят на колоните е 16 384 или 2 на степен 14, т.е. 2^14. Броят на листата в една книга(book) е 256, т.е. 2 на степен 8 или 2^8 или броят на всички налични клетки в една книга е 2 на степен 42, т.е. 2^42 или 4 398 046 511 104. Това е Еxcel! Лек ден и успехи!
Здравейте,
Този код събира клетките от колона А и колона В в колона С до последния ред с данни в колона А. Поставя формулата от ред 2, приемайки че ред 1 е заглавен. Работи с активния лист. Разбира се, можете да го пригодите за лист с конкретно име.
Option Explicit
Sub AddFormulaToLastRow()
Dim LastRow As Long
LastRow = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row 'Намира номерът на последния ред с данни в колона А
ActiveSheet.Range("C2:C" & LastRow).FormulaR1C1 = "=RC[-2]+RC[-1]"
End Sub
Надявам се, че съм помогнала. Успех с макроса!
Благодаря г-жо Данаилова, имам още един въпрос, ако желая да заместя формулата в макроса от формула със сбор с формула за конкатенация, би трябвало само да променя знака + на &, правилно ли разсъждавам? Отново благодаря за отделеното време и помощта!
Благодаря на г-н Петров и на инж. Кръстев! :)
Да, разсъждавате правилно - ако заместите знака + с & ще комбинирате знаците на клетките от колони А и В. Формулата в например клетка C2 ще бъде =A2&B2.
Благодаря Ви много г-жо Данаилова за отделеното време и помощ! :)