k0st4din Публикувано Март 13, 2013 Report Share Публикувано Март 13, 2013 Така, за да говорим за решаване на проблемите, Моля прочетете написаното в червено под всеки мой пост.И по двата зададени въпроса ще ми трябва малко повече обяснение:Първият: Само в клетка А2 и В2 ли трябва да излизат номера и имената или да продължават надолу? Дайте ми пример - защото под "нещо подобно" не си помагаме никак си.Вторият: Принципно, ако има скрити sheet-ове(поне така разбирам, казаното от вас - хипервръзки към дадени страници), защото може да бъдат и външни страници, няма как да бъдат показани. Има начин, но отново ми трябват точни данни, защото би могло да се направи с макрос. Цитирай Link to comment Сподели другаде More sharing options...
HuN7eR Публикувано Март 13, 2013 Report Share Публикувано Март 13, 2013 Здравейте, Проблема е следния имам в Excel следната таблица: http://prikachi.com/images/946/5988946T.png Искам в колоните "Премахване" и "Добавяне", като въведа някакво число то автоматично да се изважда или събира към колона "Количество (бр./кг.)" т.е. да речем пиша 9 към "Добавяне" и то става 109... и след това пиша 10, и количеството в колоната да стане 119.. Аз днес се опитах да го направя по един елементарен начин, като вмъкна още една колона за количество и от там да добавям, но не става, защото записа от преди си стой... и няма как да се автоматизира колоната т.е. то трябва записа в "Добавяне" да се чисти и да се добавя към количество. Това явно трябва да стане с някакъв макрос... Ще се радвам, ако някой може да помогне. Цитирай Link to comment Сподели другаде More sharing options...
k0st4din Публикувано Март 14, 2013 Report Share Публикувано Март 14, 2013 Здравейте HuN7eR,имате 2 варианта:Първият: - да пишете сменявайки общото количество в самата формула, което не мисля, че е много удачно, в един момент може да се обърка нещо.Вторият - правите си една колона, в която да нанасяте количествата при което ще има добавяне и премахване в централната колона Количество.В прикачената таблица формулата се намира в клетка В2.Book1.xlsxИли другият вариант, направете си един бутон в екселската таблица и поставете този код, за да може като натиснете бутона да прави изчислението. Sub sumdelete() ' ' sumdelete Macro ' ' Range("AF2").Select Range(Selection, Selection.End(xlDown)).Select Selection.Copy Range("B2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("C2:D2").Select Range(Selection, Selection.End(xlDown)).Select Range(Selection, Selection.End(xlDown)).Select Application.CutCopyMode = False Selection.ClearContents Range("C2").Select End Sub Цитирай Link to comment Сподели другаде More sharing options...
HuN7eR Публикувано Март 14, 2013 Report Share Публикувано Март 14, 2013 Здравейте, погледнете таблиците в sheet-овете "Готова стока", "Необходими продукти", "Произведена продукция", ще видите, че във всяка таблица има колоните "Количество", искам когато "дойде бусчето" аз да не смятам на ръка и да пиша, а само да въвеждам в една колона някакво количество и то да добавя към старото, както и за продажбите да изважда, но това, ще ви го обясня после, защото още не съм измислил схемата с продажбите как ще стане. А, и предполагам ще видите в "Главното меню" има няколко бутона с препратки, искам да създам и един бутон за излизане, то това ще стане с макрос, ако може пак да ми помогнете, а и ако се създаде такъв бутон, ще ме питали програмата автоматично, дали искам да запаметя промените? Първия вариант не е удачен, защото какво, ще стане, ако аз всеки път искам да добавям или махам по 10 бройки?Нищо... При втория вариант каква роля играе вашия бутон? Какви колони трябва да добавя към старата таблица? И какво значат тези редове: Range("AF2").SelectRange("B2").SelectRange("C2:D2").SelectRange("C2").Select Защото предполагам трябва да знам , за да знам и къде каква колона да си сложа. Цитирай Link to comment Сподели другаде More sharing options...
k0st4din Публикувано Март 14, 2013 Report Share Публикувано Март 14, 2013 Здравейте HuN7eR,ще се опитам да структурирам нещата:1 - аз не виждам никаква таблица, прикачена от ваша страна.2 - range са упоменатите клетки в които става пресмятането, събирането, изваждането и след натискане на бутона да постави реално извършените операции в тази таблица.3 - пресмятането става, по показаният от вас пример във вид на снимка, ако искате да смените местата на пресмятане, когато влезете в макроса(alt+F11)->Module и сменяте клетките, според вашите!4 - Прочетете написаното под всеки мой коментар в червено, когато става на въпрос за макроси, няма или почти няма вариант да направя макрос, който да работи където вие си пожелаете, т.е аз да го направя по вашият пример, а вие да искате да работи някъде другаде с различни диапазони от клетки.5 - Измислете(Обмислете) внимателно какво искате да се случва с вашата екселска таблица, шийтове и т.н и го напишете, защото в доста от случаите нещата са навързани и ако аз направя - да кажем "първото ви питане", а след това пожелаете още нещо да се направи, свързано с първото, но вече второ, то на-вероятно ще бъде свързано с първото и тогава, всеки който се опита да помогне, ще трябва да променя и първото направено, за да активира и второто.Вашето питане беше: Искам в колоните "Премахване" и "Добавяне", като въведа някакво число то автоматично да се изважда или събира към колона "Количество (бр./кг.)" т.е. да речем пиша 9 към "Добавяне" и то става 109... и след това пиша 10, и количеството в колоната да стане 119 Макроса прави това, което пожелахте, а сега във второто питане изникват още доста неща, за които ние не знаем, а и вие все още нямате представа как точно ще станат.Относно таблицата:Направена е по споделената снимка.В колона J си вкарвате стоките които имате до момента(все пак трябва да имате някаква наличност до момента), след което в C- добавяте стоките от "бусчето", а в D - изваждате стоките, които желаете, когато свършите с описването, натискате бутона и той прави пресмятането в колона B и премахва вкараните данни в C и D. Цитирай Link to comment Сподели другаде More sharing options...
HuN7eR Публикувано Март 14, 2013 Report Share Публикувано Март 14, 2013 Така да структурираме нещата! 1. От тук може да изтеглите таблицата, за да видите какво представлява. 2. Искам за таблици "Служители", "Готова стока", "Необходими продукти", "Произведена продукция" по един бутон "Добави", който като го цъкна автоматично да ме праща към ПЪРВАТА клетка под реда на ПОСЛЕДНИЯ запис в таблицата. И да правя запис към всяка една таблица, а не както аз съм го направил да ме праща към определена клетка в sheet-a. 3. Към таблиците "Готова стока", "Необходими продукти", "Произведена продукция" по един бутон който, като въведа някакво число в колоните "Добавяне" или "Премахване" и цъкна бутона да добавя или изважда стойността към колоната "Количество" и да чисти записа, така, че следващия път ако въведа пак същото число да може отново да се добави или извади, а не да остане така. 4. Един бутон за Изход в sheet "Главно меню", който да излиза от програмата, като доста ме съмнява да може да се създаде такъв бутон. Цитирай Link to comment Сподели другаде More sharing options...
HuN7eR Публикувано Март 14, 2013 Report Share Публикувано Март 14, 2013 Така точка втора съм я направил, но имам друг въпрос, как чрез натискане на бутон с макрос, може да изтривам избран ред? Цитирай Link to comment Сподели другаде More sharing options...
HuN7eR Публикувано Март 14, 2013 Report Share Публикувано Март 14, 2013 Така точка втора съм я направил, но имам друг въпрос, как чрез натискане на бутон с макрос, може да изтривам избран ред? И това почти го направих, но имам въпрос как да кажа на компилатора, "Ако има маркиран ред", извърши това действие: Selection.EntireRow.Delete т.е. изтрий маркирания ред. Цитирай Link to comment Сподели другаде More sharing options...
k0st4din Публикувано Март 14, 2013 Report Share Публикувано Март 14, 2013 Ето код за 4та точка. Sub SaveAndClose() ActiveWorkbook.Close Savechanges:=True End Sub По 3та точка съм ви дал код, който трябва да поставите във всеки шиит и да си смените само Range с вашите клетки и да си направите по едно бутонче. Цитирай Link to comment Сподели другаде More sharing options...
HuN7eR Публикувано Март 14, 2013 Report Share Публикувано Март 14, 2013 Ето код за 4та точка. Sub SaveAndClose() ActiveWorkbook.Close Savechanges:=True End Sub По 3та точка съм ви дал код, който трябва да поставите във всеки шиит и да си смените само Range с вашите клетки и да си направите по едно бутонче. А за 2ра точка как да кажа на компилатора, "Ако има маркиран ред", извърши това действие: Selection.EntireRow.Delete т.е. изтрий маркирания ред. Цитирай Link to comment Сподели другаде More sharing options...
k0st4din Публикувано Март 14, 2013 Report Share Публикувано Март 14, 2013 Какво имате предвид? Цитирай Link to comment Сподели другаде More sharing options...
HuN7eR Публикувано Март 14, 2013 Report Share Публикувано Март 14, 2013 Какво имате предвид? Този код: Selection.EntireRow.Delete трие маркирания ред, ако преди това си му дал Range, но аз не искам да му давам Range, искам аз, като си маркирам ред, и като цъкна бутона, да го трие. Как да му кажа, изтрий маркирания ред. Ако аз маркирам ред и цъкна бутона ти изтрий този ред. Цитирай Link to comment Сподели другаде More sharing options...
HuN7eR Публикувано Март 14, 2013 Report Share Публикувано Март 14, 2013 А, имам питане по кода със добавянето, защото не мога да го нагодя. Sub sumdelete()'' sumdelete Macro'' Range("AF2").Select // коя е тая клетка, която се маркира? за колчество ли е, за цена ли е, за какво и какво прави?Range(Selection, Selection.End(xlDown)).SelectSelection.Copy Range("B2").Select // и тази?Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=FalseRange("C2:D2").Select // и......Range(Selection, Selection.End(xlDown)).SelectRange(Selection, Selection.End(xlDown)).SelectApplication.CutCopyMode = FalseSelection.ClearContentsRange("C2").Select //.......End Sub Цитирай Link to comment Сподели другаде More sharing options...
k0st4din Публикувано Март 14, 2013 Report Share Публикувано Март 14, 2013 Sub sumdelete()'' sumdelete Macro'' Range("AF2").Select - в тази клетка и до края, където има нанесена стока, става пресмятането, реалното количество (+) добавянето, (-) премахването, което от своя страна го пренася в реален резултат в клетката(целият ред) на В.Range(Selection, Selection.End(xlDown)).SelectSelection.Copy Range("B2").Select - от В2 надолу започва натрупването на бройкитеSelection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=FalseRange("C2:D2").Select - са клетките които да се изтрият, след нанесените бройки, до последния съществуващ ред с нанесени числаRange(Selection, Selection.End(xlDown)).SelectRange(Selection, Selection.End(xlDown)).SelectApplication.CutCopyMode = FalseSelection.ClearContentsRange("C2").Select - определя, къде да спре действието на макроса.End Sub Цитирай Link to comment Сподели другаде More sharing options...
ashko2 Публикувано Март 14, 2013 Report Share Публикувано Март 14, 2013 Така, за да говорим за решаване на проблемите, Моля прочетете написаното в червено под всеки мой пост.И по двата зададени въпроса ще ми трябва малко повече обяснение:Първият: Само в клетка А2 и В2 ли трябва да излизат номера и имената или да продължават надолу? Дайте ми пример - защото под "нещо подобно" не си помагаме никак си.Вторият: Принципно, ако има скрити sheet-ове(поне така разбирам, казаното от вас - хипервръзки към дадени страници), защото може да бъдат и външни страници, няма как да бъдат показани. Има начин, но отново ми трябват точни данни, защото би могло да се направи с макрос.Копие от etiketi.xlsPrisistven spisak.xls Цитирай Link to comment Сподели другаде More sharing options...
Препоръчан пост