kiskin Публикувано Март 9, 2008 Report Share Публикувано Март 9, 2008 Идеята е следната : Имам документ (Excel) с множество формули за изчисляване на брой опаковки, тегло (приход, разход и остатък), комплектоващи елементи и т.н., които бавят работата (таблицата е с около 2 500 реда и около 30 колони) и тъй като наименованията се повтарят многократно използвам филтър, а формулите които изпоолзвам (IF, Vloocup, Ceiling и други) при всяко филтриране преизчисляват стойностите и бавят филтрирането.В крайна сметка целта ми е да предпазя файла от използване след срока му на валидност и в същото време само аз да мога да ползвам информацията в него(след този срок). Желанието ми е да защитя от злонамерен достъп!Прикачвам примерен файл с надеждата да ми помогнеш.Nalichnost.rar Цитирай Link to comment Сподели другаде More sharing options...
topora Публикувано Март 10, 2008 Report Share Публикувано Март 10, 2008 Здравей, chenkete®. Преглеждах темата "Ръководства за работа с Excel 2003, за начинаещи".Когато попаднах на твои коментар за HELP, на български.За различни версии на Офиса и за Ексел и т.н.Но сега опитвам да вляза отново но не мога.Можеш ли да ми предоставиш тази информация,която много ме интересува.Търся хелп за Ексел 98 и за VBA Ecxel, на български. Може ли някои да помогне, да имам достъпдо тези фаилове с Help. "Тук ще се включа и аз с няколко линка на които можете да намерите "хелп" файлове за офис пакета на български език.http://www.easy-sharing.com/441409/Excel.CHM.htmlhttp://www.easy-sharing.com/441494/ClipOrganizer.CHM.htmlhttp://www.easy-sharing.com/441498/Outlook.CHM.htmlhttp://www.easy-sharing.com/441501/PowerPoint.CHM.htmlhttp://www.easy-sharing.com/441503/Word.CHM.htmlДано да съм в помощ на начинаещите и интересуващите се.От целия офис пакет ексел определено заема първо място за мен. "За което предварително ти благодаря. Цитирай Link to comment Сподели другаде More sharing options...
topora Публикувано Март 13, 2008 Report Share Публикувано Март 13, 2008 Здравейте ...Няма ли начин някои да знае как мога да се сдобия,с Help за VBA Ecxel а български. Благодаря Ви, предварително Цитирай Link to comment Сподели другаде More sharing options...
Lotos16 Публикувано Март 14, 2008 Report Share Публикувано Март 14, 2008 Здравейте! Знае ли някой как да направя следното: Имам две таблици, в които се попълват всекидневно продадени стоки. В първата таблица има колони Дата, Смяна, Шифър и Стойност. В колона Смяна са само два вида - А и В. В колона Шифър са шифри от 1 до 6. Всеки ден се продават различни по шифър стоки. Втората таблица има две колони Шифър и Сума, в която трябва да се сумират с натрупване по шифър от колона Стойност. Условието е следното: Ако в колона Смяна = А, да се съберат всички от шифър 1 (до 6). Същото и за колона Смяна = В. Със SUMIF може да се приложи само един критерий, а на мен са ми нужни два. Цитирай Link to comment Сподели другаде More sharing options...
Tragedy Публикувано Март 14, 2008 Report Share Публикувано Март 14, 2008 Привет, Ами най-лесното решение е да използваш функцията SUMIF, но вместо аргумент да зададеш клетка, в която от падащ списък да си избираш смяната (А или Б). Друг вариант е с pivot таблица, което също ще стане много лесно. трети вариант е с филтър на колоната за смяна. Всичко зависи от начина, по който искаш да виждаш резултатите, така че ако уточниш това, ще ти кажа как точно да го направиш Цитирай Link to comment Сподели другаде More sharing options...
ани Публикувано Март 15, 2008 Report Share Публикувано Март 15, 2008 Здравей имам един проблем сигурно много елементарен но немога да се справя.Може ли някой да ми каже как да ми сметне формулата без да ми слага десетична запетая Давам пример: искам да ми изпише 16500 а не 165,00 Цитирай Link to comment Сподели другаде More sharing options...
Tragedy Публикувано Март 16, 2008 Report Share Публикувано Март 16, 2008 Привет, Двете числа, които си дала са доста различни и това леко ме обърква. Ако искаш да ти изписва само цели числа имаш два варианта - единият е да маркираш клетката или всички клетки с даденото число и да избереш от менюто на програмата Format -> Cells... и после на страницата Number от списъка в ляво да избереш Number, а в полето срещу Decimal Places да поставиш 0 (това указва на програмата за дадените клетки да ги форматира като числа и да използва 0 знака след десетичната запетая, т.е. да ги покаже като цели числа). Другият вариант е да маркираш отново желаните клетки и да натиснеш следния бутон от лентата с бутони - http://pics.softvisia.com/design/pics/902/Numbers.png, която ще намали броя на показваните числа след десетичната запетая с едно при всяко натискане. Т.е. ако виждаш две нули след десетичната запетая трябва да натиснеш бутончето два пъти. Пиши ако имаш други проблеми или не си се справила с този Цитирай Link to comment Сподели другаде More sharing options...
kiskin Публикувано Март 17, 2008 Report Share Публикувано Март 17, 2008 Какво става panevdd ??Ще можеш ли да направиш нещо по въпроса? "с команда (или друг макрос) правиш сравнение между вече записаната дата и текущата дата на отваряне", какъв е този макрос?Ще съм ти много благодарен, ако можеш да ми помогнеш!! Цитирай Link to comment Сподели другаде More sharing options...
panevdd Публикувано Март 19, 2008 Report Share Публикувано Март 19, 2008 Мисля, че това ще ти свърши работа: Set a Trial Period For Use of Your Project. Започнах да го правя с макрос, който сравнява датите на съхранение и отваряне на документа в самия Excel, без създаване на "външен" файл, но този начин е по-елегантен. Цитирай Link to comment Сподели другаде More sharing options...
kiskin Публикувано Март 22, 2008 Report Share Публикувано Март 22, 2008 Благодаря ти приятелю!Само ако не ти представлява трудност можеш ли да го преведеш на BG, че не мога да разбера какво да правя?Извини ме за невежеството ?!?И още веднъж ти благодаря за отзивчивостта !!! Цитирай Link to comment Сподели другаде More sharing options...
panevdd Публикувано Март 22, 2008 Report Share Публикувано Март 22, 2008 Приблизителен* превод:Описание:При първото отваряне на работния документ се създава *.log файл. При всяко отваряне на документа след това се прави проверка на датата и часа в *.log файла. Ако зададения период за ползване е изтекъл, потребителя получава съобщение за това. Въведените данни в документа се преместват в отделни файлове, заедно с рекламен текст, а документа става неизползваем. Друг вариант е да се премахне всяка възможност за работа с документа. За това е необходимо да се въведе кода на Brettdj за напълно изтриване на документа (Code for a self-destructing Workbook) от съответното място. Оставям това на Вас . Обяснения:Можете да спестите много време за демонстрация на продукта си, ако разрешите на потенциалните потребители да го изпробват за известен период. Този код ще Ви позволи да го направите. Примерите в приложението са отключени, за да можете да видите кода, но се предполага, че Вие ще заключите проекта си и ще въведете задължително разрешаване на изпълнението на макросите (Force User to Enable Macros). Ако документа е заключен, това Ви дава едно наистина добро ниво на защита, но не забравяйте, че тази защита не е непреодолима; въпреки това тя ще попречи на повечето хора да копират вашия код. Освен увеличаването на периода за ползване, зададен във Вашия код (т. е., заобикаляне на защитата), единствения друг начин за увеличаване времето на ползване е да се открие и изтрие *.log файла. (Забележка: ако този файл се изтрие, при следващото отваряне на работния документ в Excel се създава нов файл). Ако зададете невзрачно име и дълъг път за достъп до *.log файла на твърдия диск, повечето хора няма да могат да го намерят. (Ако някой се опита да разбие кода или да намери файла - пожелавам му късмет ). Инструкции за ползване:1. Отворете документа в Excel2. Изберете Tools/Macro/Visual Basic Editor3. В прозореца на VBE изберете Tools/Project Explorer4. Изберете модула ThisWorkbook5. Копирайте този код и го поставете в модула6. Изберете File/Close and Return To Microsoft Excel7. Съхранете документа и го затворете Тестване на кода:1. В папката от приложението са примери за период за ползване на документите от:2. 10 минути, 1 час, 1 ден, 30 дни и 1 година.3. Разархивирайте файловете и копирайте примера за 10 минути време на ползване на работната площ.4. Отворете примера и прегледайте твърдия диск за файл 'TestFileLog'5. Затворете и отворете отново няколко пъти този пример, за да проверите дали документа е използваем, сле което изчакайте 10 или повече минути...6. Отворете отново документа и ще получите съобщение за изтекъл период на ползване.7. След като потвърдите с ОК, документа се затваря.8. При опит за отваряне на документа след това, той се затваря автоматично.9. Създайте ново копие на примера за 10 минути време на ползване върху работната площ и опитайте да го използвате...10. (За да използвате другото копие, трябва да откриете и изтриете съществуващия файл 'TestFileLog' преди това)11. Опитайте останалите примери (ще ви трябва доста време, за да ги тествате напълно). *Английският не ми е роден език, възможно е да съм допуснал грешки и/или неточности. Като цяло защитата е добра, но не разчитай само на нея - средно грамотен потребител може да се справи с нея, въпреки, че ще трябва да се потруди малко. Ако имаш още въпроси - питай . Цитирай Link to comment Сподели другаде More sharing options...
kiskin Публикувано Март 24, 2008 Report Share Публикувано Март 24, 2008 Благодаря ти за превода panevdd !!!Можеш ли да ми обясниш защо, след като копирам кода в моя файл не се активира и не създава *.log* файл ???При разархивирането *.zip* всичко е както трябва, но не мога да копирам всички таблици от моя файл, защото това означава да правя нови формули(всичко отначало)?Можеш ли да помогнеш?И още нещо, може ли макрос да извършва всички изчисления?(ако си спомняш ти бях обяснил, че компа е стар и при всяко филтриране преизчислява всички формули IF, VLOOCKUP, SEILING и др., което доста го бави около 15-20 сек.)Ще се радвам ако можеш да ми помогнеш!Nalichnost.rar Цитирай Link to comment Сподели другаде More sharing options...
panevdd Публикувано Март 28, 2008 Report Share Публикувано Март 28, 2008 Можеш ли да ми обясниш защо, след като копирам кода в моя файл не се активира и не създава *.log* файл ???Сещам се за две причини:1. Изпълнението на макросите трябва да е разрешено - при теб каква е настройката в Tools -> Macro -> Security... -> Security Level?2. В кода от страницата Set a Trial Period For Use of Your Project се използва клетка А1 за съхранение на данни; при теб тази клетка е заета. В приложения файл съм променил адреса на клетката - използвам последната клетка от таблицата, съответно това би трябвало да разреши проблема. И още нещо, може ли макрос да извършва всички изчисления?Предполагам, че може, но аз не бих направил подобно нещо.Първо, не се знае как различните версии на Excel ще интерпретират кода от макросите - VB езика се развива през годините и никой не може да ти гарантира коректно изпълнение на конкретен код във всички версии на Excel.Второ, вградените формули работят по-бързо от макросите, така, че в твоя случай няма да имаш полза от това. Предполагам, че някакъв софтуер за работа с бази от данни ще бъде по-подходящ в твоя случай, може би нещо за работа под DOS...Освен това, ако имаш някакви по-сложни изчисления, една промяна в начина на изчисление може да ти отвори доста работа, ако всичко е направено с един макрос - ще трябва да преглеждаш и редактираш десетки редове текст и вероятността за трешка е голяма.nalichnost.zip Цитирай Link to comment Сподели другаде More sharing options...
kiskin Публикувано Март 29, 2008 Report Share Публикувано Март 29, 2008 Със сигурност макросите са разрешени(проверих го)!Когато копирам новия код в моя файл отново не работи!В твоя е OK, явно грешката е в мен, но не мога да разбера къде?(копирам кода с Copy, а във файла с Alt+F11 отварям Visual Basic, с Paste го поставям и го запомням. Излизам от Visual Basic и запомням и документа. Затварям и отварям отново документа и проверявам има ли TestFileLog.log и виждам, че няма). Можеш ли да ми кажеш какво по дяволите не правя както трябва ???Кое точно в кода указва клетката, която се използва от кода?? А между другото как Excel пресмята разлика между две дати (форматирам две клетки като стойността се приема като дата. С коя формула мога да изчисля трудовия стаж на всеки днес, т.е. А1 е дата на започване на работа; А2 трябва да задам(може ли автоматично) днешната дата и в А3 да получа трудовия стаж в ходини, месеци и дни)?Помагай приятел, че съм я закъсал. Цитирай Link to comment Сподели другаде More sharing options...
panevdd Публикувано Март 29, 2008 Report Share Публикувано Март 29, 2008 От къде копираш кода, с кой браузер го правиш? Когато го поставиш във VBE, структурата запазва ли се? Опитай да копираш кода от страницата Set a Trial Period For Use of Your Project в Notepad и от там да го копираш отново и да го поставиш във VBE.Относно датите: в едната клетка (в случая - А1) въвеждаш началната дата, а във втората (В1) - формулата =TODAY(). В трета клетка (в която ще получиш броя на дните), въвеждаш =DAYS360(A1;B1;TRUE). Цитирай Link to comment Сподели другаде More sharing options...
Препоръчан пост