Jump to content

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


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

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

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

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

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

post-9511-0-68308900-1513438751_thumb.jpgpost-9511-0-54802000-1513438764_thumb.jpg

Моля, покажи ми кое е това.......

 

Не ми се номерират клетките. Не разбирам от макроси, но в този макрос не указва ли да се извърши филтриране?

Sub Obekti()

    Columns("A:E").Select

    ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Clear

    ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Add Key:=Range("E2:E200000"), _

        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal

    ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Add Key:=Range("B2:B200000"), _

        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal

    ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Add Key:=Range("A2:A200000"), _

        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal

    With ActiveWorkbook.Worksheets("Лист1").Sort

        .SetRange Range("A1:E200000")

        .Header = xlYes

        .MatchCase = False

        .Orientation = xlTopToBottom

        .SortMethod = xlPinYin

        .Apply

    End With

    Range("A1").Select

    Selection.AutoFilter

End Sub 

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

 

 


Освен с някакъв макрос? Искам да ми се номерират последователно документите за фа може:
1. При филтриране да виждам колко на брой са, което може да ми послужи и за обобщена таблица;
2. Да ми се изчисли стойността на издадените документи.
Някои ако може да ми прати линк за създаване на макроси на разбираем език, като за начинаещ? Виждал съм и бутони, но не знам как се създават и свързват?

В моя отговор съм ти дал макрос за номериране, а вместо да го ползваш, вземаш макроса за сортиране.

Но ако за първи път отваряш Excel за да пишеш макроси, не знам как ще стане.

За питане № 1 може да се ползва функцията SubTotal. В Help има обяснение как се ползва. 

И как ще стане изчисляването на стойността на документите, като никъде не се виждат някакви суми.

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

В моя отговор съм ти дал макрос за номериране, а вместо да го ползваш, вземаш макроса за сортиране.

Извинявай TRN, но 

1во - той, желае номерирането да става по следващ № на документ - според обекта. Поне аз така го разбирам, че в колона А няма номерация, а не при вече съществуваща само да ги нареди. (Макроса ти не работи по този начин).

2ро - след като е казал, че иска да става, в колона А:А, то как му помагаш, когато му изместваш данните (дори и да са верни) в съвсем други клетки? Представи си, че искам точно в тази колона А:А да бъдат, а в другите имам друга информация, която не съм споделил.

 

Но ако за първи път отваряш Excel за да пишеш макроси, не знам как ще стане.

Днес научих нещо ново от теб: Явно си голям късметлия, че си се родил учен и ако някой иска нещо да научи, освен "....не знам как ще стане, то нямаме друг отговор"! Дал съм му с картинки, горе долу началните стъпки, как да достигне до тези макроси. И да знам, че няма да се научи, толкова лесно, като все едно да си намажеш филия с лютеница.

 

За питане № 1 може да се ползва функцията SubTotal. В Help има обяснение как се ползва.

Ами ако е на английски и не го разбира, ами ако иска да сборира само номерата(сумата) на продажбите....... Не го коментирам, защото и на мен не ми стана ясно, кое иска да сборира(сумира). Според мен, това ще остане на следващ етап.

 

 

И в предните коментари споменах и отново, ще го повторя, нямаме втори параметър, потребителя казва, че номерациите са различни, но може и да не е така. Единият параметър е ясен: Обектите, вторият е постоянна променлива, а може и да се повтаря, но с друг продукт.

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

 

 


Извинявай TRN, но... 

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

Няма повече да се намесвам в темата.

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

Здравей TRN, ако наистина смяташ че

твойто предложение работи, моля прикачи

файлов документ на ексел, като примерен файл,

за да видим и ние как ще се справи с поставената задача.

може да Ви се струва малко наготово, но всеки може

да надгради дадено предложение и да се получи нещо.

От моя опит зная че не всички но някой макроси,

не работят коректно със всички версии на ексел.

 

Затова е добре да се прикачи примерен файл за да може да се тества от различни потребители,

така се намират недостатъците и грешките и се изглажда кода

за да отговаря на нуждите на потребителя.

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

Никой до този момент не е казал, че макроса не работи. Много добре знам, че при различни версии на Excel може да се получат грешки или грешни резултати. Аз работя с 2013.

Аз не съм си измислял никакъв файл, просто съм ползвал неговия. Щом имаш желание ще го кача, като съм добавил и макроса за сортиране.

Съжалявам, но не намирам бутон за Attacment.

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

Прикачи го по този начин:

post-18983-0-12488400-1513504380_thumb.jpg

post-18983-0-14250500-1513504387_thumb.jpg

 

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

Няма повече да се намесвам в темата.

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

Да, те търсят решение на даден проблем, а ние във форумите сме затова да им помогнем.

Ако седнем с теб да си говорим за ядрена физика, най-вероятно ще си го обясняваме по наш си разбираем език, което може да няма нищо общо с това, което искаме да кажем. :) , но ние така си го разбираме.

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

Може и аз да съм зациклил и да не ми идва нещо на ум, но трябва да му сложим подреждането в колона А2:А, макроса ги реди, но дава последователност, а на повтаряемите фактури я няма еднаквостта.

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

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

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

Аз разбрах нещата по този начин.

Да се номерират данните в колона А, като се следи тези, които са от различни обекти да имат различна поредност на номерацията /1,2,.../

В списъка с фактури има написани повтарящи се фактури, в които реално има продадени/закупени/ няколко артикула и в тях номерацията трябва да се запазва същата и да не се увеличава.

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

С тези критерии направих макроса, като в колона F съм разположил списъка с обектите/неповтарящи се/. А защо е номерирането в колона E, за да се сравни колона E с неговата A и да се провери правилно ли са номерирани или не.

А по нататък вече всеки може да прецени къде да разположи данните, които са ми в колона F и G, което е елементарно. И пак да не се забравя, че не съм разбрал, че питащия за първи път се опитва да пише макроси.

При мен макроса работи нормално, а иначе не бих го предложил.

А за сортировката, така както иска, аз лично мога да предложа само филтриране и SubTotal. Е ако не знае как може пак да пита.

И благодаря за обяснението за Attachment. Не бих се сетил да ровя там.

SoftVisaObjectNumbers.xlsm

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

Така, ако правилно те разбирам, трябва да гледам последователността в колона G:G.

Ако е така, аз питам (потребителя казва че под фактура № 7425 е допуснал техническа грешка и в двата случая е = 1, защото са различни продукти, но фактурата е една и съща).

То в твоя случай в колона G се подрежда като: 1;2;2;3;4, а трябва да бъде 1;2;2;1;3 само за обект №1.

Другото, което е, че потребителя, казва, че няма номерация в колона А:А, а иска като постави другите данни (в нашият случай) чрез макроса да се нареди номерирането.

Така, ако няма числа в колона А:А, макроса се обърква.

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

За техническата грешка няма да говорим, въпроса е дали логиката за макроса е вярна. Ако е така, и съм изпуснал, че в колона A липсват данни, нищо не ми пречи да проверявам колона B, а пък номерацията да я слагам в колона A. Все пак това е вариант и може да се доработва. Нали това е целта на занятието.

А и той от секретност ли от какво ли е дал една малка чстичка, кой знае от къде преписана, а така само ще си приказваме без да знаем за какво по-точно става въпрос.

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

В колона А искам да ми се показват номера. Целта е дори и да вмъкна ред или да изтрия някой да ми се извърши преномериране автоматично. За мен няма значение номер на фактура или документ дали ще бъдат разбъркани или в нарастващ ред. Примера който съм дал само показва какъв е желания резултат. Сега пробвам със FREQUENCY но нещо не могат да ми се получат резултати, които искам....

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

Здравейте Анатоли,

поставете си данните в тази таблица, която ви изпращам, като оставите празна колона А2:А.

След като ги поставите, натиснете бутона и споделете, това ли е желаният резултат.

Book_ready.xlsm

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

  • 1 year later...

Здравейте!

Намерих си един файл в който искам да променя кода, но не се получава това което искам.Ще прикача оригиналния файл, за да не объркам някой.Искам да променя да не търси в колона "С" в комбобокса в юзерформата, а да търси в колона "Е".

По принцип променям в комбобокса да не ми показва колона "С" а да ми покаже колоната която искам но като натисна бутона за репорт и в листбокса не ми показва нищо.

Благовя предварително.

filtering_between_two_dates_userform.xls

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

  • 2 weeks later...

Здравейте!

Намерих си един файл в който искам да променя кода, но не се получава това което искам.Ще прикача оригиналния файл, за да не объркам някой.Искам да променя да не търси в колона "С" в комбобокса в юзерформата, а да търси в колона "Е".

По принцип променям в комбобокса да не ми показва колона "С" а да ми покаже колоната която искам но като натисна бутона за репорт и в листбокса не ми показва нищо.

Благовя предварително.

Поправката е в ред 32 на UserForm1

CStr(ara.Offset(0, 3).Value) = CStr(ComboBox1.Text) Then

Прилагам и файла с поправките

filtering_between_two_dates_userformNew.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...

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