Jump to content

Ръководства за работа с Excel 2003


Препоръчан пост

Така, за да говорим за решаване на проблемите, Моля прочетете написаното в червено под всеки мой пост.

И по двата зададени въпроса ще ми трябва малко повече обяснение:

Първият: Само в клетка А2 и В2 ли трябва да излизат номера и имената или да продължават надолу? Дайте ми пример - защото под "нещо подобно" не си помагаме никак си.

Вторият: Принципно, ако има скрити sheet-ове(поне така разбирам, казаното от вас - хипервръзки към дадени страници), защото може да бъдат и външни страници, няма как да бъдат показани. Има начин, но отново ми трябват точни данни, защото би могло да се направи с макрос.

Link to comment
Сподели другаде

  • Отговори 1.5k
  • Създадена
  • Последен отговор

ТОП потребители в тази тема

ТОП потребители в тази тема

Публикувани изображения

Здравейте,

 

Проблема е следния имам в Excel следната таблица: http://prikachi.com/images/946/5988946T.png

 

Искам в колоните "Премахване" и "Добавяне", като въведа някакво число то автоматично да се изважда или събира към колона "Количество (бр./кг.)" т.е. да речем пиша 9 към "Добавяне" и то става 109... и след това пиша 10, и количеството в колоната да стане 119.. Аз днес се опитах да го направя по един елементарен начин, като вмъкна още една колона за количество и от там да добавям, но не става, защото записа от преди си стой... и няма как да се автоматизира колоната т.е. то трябва записа в "Добавяне" да се чисти и да се добавя към количество. Това явно трябва да стане с някакъв макрос... Ще се радвам, ако някой може да помогне.

Link to comment
Сподели другаде

Здравейте 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
Сподели другаде

Здравейте, погледнете таблиците в sheet-овете "Готова стока", "Необходими продукти", "Произведена продукция", ще видите, че във всяка таблица има колоните "Количество", искам когато "дойде бусчето" аз да не смятам на ръка и да пиша, а само да въвеждам в една колона някакво количество и то да добавя към старото, както и за продажбите да изважда, но това, ще ви го обясня после, защото още не съм измислил схемата с продажбите как ще стане.

 

А, и предполагам ще видите в "Главното меню" има няколко бутона с препратки, искам да създам и един бутон за излизане, то това ще стане с макрос, ако може пак да ми помогнете, а и ако се създаде такъв бутон, ще ме питали програмата автоматично, дали искам да запаметя промените?

 

Първия вариант не е удачен, защото какво, ще стане, ако аз всеки път искам да добавям или махам по 10 бройки?

Нищо...

 

При втория вариант каква роля играе вашия бутон? Какви колони трябва да добавя към старата таблица?

 

И какво значат тези редове:

 

Range("AF2").Select

Range("B2").Select

Range("C2:D2").Select

Range("C2").Select

 

Защото предполагам трябва да знам , за да знам и къде каква колона да си сложа.

Link to comment
Сподели другаде

Здравейте HuN7eR,

ще се опитам да структурирам нещата:

1 - аз не виждам никаква таблица, прикачена от ваша страна.

2 - range са упоменатите клетки в които става пресмятането, събирането, изваждането и след натискане на бутона да постави реално извършените операции в тази таблица.

3 - пресмятането става, по показаният от вас пример във вид на снимка, ако искате да смените местата на пресмятане, когато влезете в макроса(alt+F11)->Module и сменяте клетките, според вашите!

4 - Прочетете написаното под всеки мой коментар в червено, когато става на въпрос за макроси, няма или почти няма вариант да направя макрос, който да работи където вие си пожелаете, т.е аз да го направя по вашият пример, а вие да искате да работи някъде другаде с различни диапазони от клетки.

5 - Измислете(Обмислете) внимателно какво искате да се случва с вашата екселска таблица, шийтове и т.н и го напишете, защото в доста от случаите нещата са навързани и ако аз направя - да кажем "първото ви питане", а след това пожелаете още нещо да се направи, свързано с първото, но вече второ, то на-вероятно ще бъде свързано с първото и тогава, всеки който се опита да помогне, ще трябва да променя и първото направено, за да активира и второто.

Вашето питане беше:

Искам в колоните "Премахване" и "Добавяне", като въведа някакво число то автоматично да се изважда или събира към колона "Количество (бр./кг.)" т.е. да речем пиша 9 към "Добавяне" и то става 109... и след това пиша 10, и количеството в колоната да стане 119

Макроса прави това, което пожелахте, а сега във второто питане изникват още доста неща, за които ние не знаем, а и вие все още нямате представа как точно ще станат.

Относно таблицата:

Направена е по споделената снимка.

В колона J си вкарвате стоките които имате до момента(все пак трябва да имате някаква наличност до момента), след което в C- добавяте стоките от "бусчето", а в D - изваждате стоките, които желаете, когато свършите с описването, натискате бутона и той прави пресмятането в колона B и премахва вкараните данни в C и D.

Link to comment
Сподели другаде

Така да структурираме нещата!

 

1. От тук може да изтеглите таблицата, за да видите какво представлява.

 

2. Искам за таблици "Служители", "Готова стока", "Необходими продукти", "Произведена продукция" по един бутон "Добави", който като го цъкна автоматично да ме праща към ПЪРВАТА клетка под реда на ПОСЛЕДНИЯ запис в таблицата. И да правя запис към всяка една таблица, а не както аз съм го направил да ме праща към определена клетка в sheet-a.

 

3. Към таблиците "Готова стока", "Необходими продукти", "Произведена продукция" по един бутон който, като въведа някакво число в колоните "Добавяне" или "Премахване" и цъкна бутона да добавя или изважда стойността към колоната "Количество" и да чисти записа, така, че следващия път ако въведа пак същото число да може отново да се добави или извади, а не да остане така.

 

4. Един бутон за Изход в sheet "Главно меню", който да излиза от програмата, като доста ме съмнява да може да се създаде такъв бутон.

Link to comment
Сподели другаде

Така точка втора съм я направил, но имам друг въпрос, как чрез натискане на бутон с макрос, може да изтривам избран ред?

 

И това почти го направих, но имам въпрос как да кажа на компилатора, "Ако има маркиран ред",

 

извърши това действие: Selection.EntireRow.Delete т.е. изтрий маркирания ред.

Link to comment
Сподели другаде

Ето код за 4та точка.

Sub SaveAndClose()
ActiveWorkbook.Close Savechanges:=True
End Sub

 

По 3та точка съм ви дал код, който трябва да поставите във всеки шиит и да си смените само Range с вашите клетки и да си направите по едно бутонче.

Link to comment
Сподели другаде

Ето код за 4та точка.

Sub SaveAndClose()
ActiveWorkbook.Close Savechanges:=True
End Sub

 

По 3та точка съм ви дал код, който трябва да поставите във всеки шиит и да си смените само Range с вашите клетки и да си направите по едно бутонче.

 

А за 2ра точка как да кажа на компилатора, "Ако има маркиран ред",

 

извърши това действие: Selection.EntireRow.Delete т.е. изтрий маркирания ред.

Link to comment
Сподели другаде

Какво имате предвид?

 

Този код: Selection.EntireRow.Delete трие маркирания ред, ако преди това си му дал Range, но аз не искам да му давам Range, искам аз, като си маркирам ред, и като цъкна бутона, да го трие. Как да му кажа, изтрий маркирания ред. Ако аз маркирам ред и цъкна бутона ти изтрий този ред.

Link to comment
Сподели другаде

А, имам питане по кода със добавянето, защото не мога да го нагодя.

 

 

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
Сподели другаде

Sub sumdelete()

'

' sumdelete Macro

'

'

 

Range("AF2").Select - в тази клетка и до края, където има нанесена стока, става пресмятането, реалното количество (+) добавянето, (-) премахването, което от своя страна го пренася в реален резултат в клетката(целият ред) на В.

Range(Selection, Selection.End(xlDown)).Select

Selection.Copy

Range("B2").Select - от В2 надолу започва натрупването на бройките

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
Сподели другаде

Така, за да говорим за решаване на проблемите, Моля прочетете написаното в червено под всеки мой пост.

И по двата зададени въпроса ще ми трябва малко повече обяснение:

Първият: Само в клетка А2 и В2 ли трябва да излизат номера и имената или да продължават надолу? Дайте ми пример - защото под "нещо подобно" не си помагаме никак си.

Вторият: Принципно, ако има скрити sheet-ове(поне така разбирам, казаното от вас - хипервръзки към дадени страници), защото може да бъдат и външни страници, няма как да бъдат показани. Има начин, но отново ми трябват точни данни, защото би могло да се направи с макрос.

Копие от etiketi.xlsPrisistven spisak.xls

Link to comment
Сподели другаде

Гост
Отговори на тази тема

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   Не можете да качите директно снимка. Качете или добавете изображението от линк (URL)

Loading...

×
×
  • Създай ново...