|
Страници по тази тема: 1 | 2 | >> (покажи всички)
Тема
|
Огромна база???
|
|
Автор |
DDeli (Maya - 25.11.02) |
Публикувано | 14.03.05 15:12 |
|
Привет!
Имам един sheet в който вече има над 20,000 реда със записи. Има 5 колони, в които имам формули (и май всичките са Vlookup) но ексела постоянно калкулира (calculate ...% отдолу в прозорчето) Явно отнема доста време да пре-пресмята всички записи а това адски ме изнервя и бави.
Имате ли идея как да го улесня???
| |
Тема
|
Re: Огромна база???
[re: DDeli]
|
|
Автор |
kibik (позициониран) |
Публикувано | 14.03.05 15:58 |
|
ако стойностите не ти трябва да се променят; маркираш областта с формулите даваш
Copy- Paste special- Value
така няма да "тегли" Vlookup, и ще е лесна за обработка
поне аз така правя де...
Редактирано от kibik на 14.03.05 16:03.
| |
Тема
|
Re: Огромна база???
[re: DDeli]
|
|
Автор |
Щиpлиц (разузнавач) |
Публикувано | 14.03.05 16:23 |
|
Неколкократно съм споменавал, че за такива случаи се ползва VBA код.
Разликата е в това, че VBA кода е само на едно място, а не е "клефнат" на цялата страница с 20 000 повторения. Според мен няма абсолютно никакъв смисъл от 20 000 еднакви на вид формули. С подходящо ограничение, кода може да се изпълнява като формула само за избрана клетка от страницата, в зависимост от конкретния случай. Адреса на клетката може да се вземе от събитието "Change". Разлика в скоростта на работа ще има заради това, че формулата ще пресмята само тогава, когато има редакция на клетка, и то ще извърши наново изчислението само за тези клетки, които са обвързани с формулата, но няма да обхожда цялата колона надолу (или нагоре) 20 000 реда.
По-конкретно не мога да кажа нищо, защото нямам и един байт от файла, за който споменаваш. ;о)
Успех.
Щирлиц
| |
Тема
|
Re: Огромна база???
[re: Щиpлиц]
|
|
Автор |
DDeli (Maya - 25.11.02) |
Публикувано | 14.03.05 19:01 |
|
Мммдаааа, това ще е . Можеш ли ми дадеш идея как в ВБ да напиша формулата Vlookup която да връща стойности от предварително зададения списък - или просто пейстни един код който да разгледам и пригодя за моите"прости" формулки. 10х!!!
| |
Тема
|
Re: Огромна база???
[re: DDeli]
|
|
Автор |
Щиpлиц (разузнавач) |
Публикувано | 14.03.05 22:40 |
|
Дай някакъв пример все пак...
Щирлиц
| |
Тема
|
Re: Огромна база???
[re: DDeli]
|
|
Автор |
f(x)dx () |
Публикувано | 15.03.05 08:14 |
|
Можеш да започнеш с това:
Tool->Macro->Record New macro->OK Появява ти се едно малко прозорче.
След това започваш да си въвеждаш формулата vlookup. (
Накрая даваш Stop естествено.
Това е най-лесният начин да пишеш макроси. След като си го написал, можеш да влезнеш в кода му и да видиш какво представлява. най-вероятно няма да ти върши работа, но вече имаш някаква основа.
Шум в офиса? Слушайте Paul van Dyk
| |
Тема
|
Re: Огромна база???
[re: Щиpлиц]
|
|
Автор |
DDeli (Maya - 25.11.02) |
Публикувано | 15.03.05 09:42 |
|
Надявам се това да е достатъчно ясно:
кол А Име - идва с VLOOKUP от колона H, гледайки в "names" range
кол B Месец - идва с Month(col G )
кол C Година - идва с YEAR(col G )
Кол D Избран номер Име - идва с VLOOKUP от колона I, гледайки в "tel" range
кол Е Група - идва с VLOOKUP от колона J, гледайки в "type" range; 2
кол F Вид - идва с VLOOKUP от колона J, гледайки в "type" range; 3
кол G Дата и час (има си ги)
кол H Тел номер (има си ги)
кол I Избран номер (има си ги)
кол J Услуга и направление (има си ги)
кол K Количество (има си ги)
кол L Такса (лв.) (има си ги)
Идеята е , да се използва VB за формулите в първите 6 колони. Иначе ranges names, tel, type са в отделен sheet.
Ако не е достатъчно ясно, ще дообяснявам
![](http://i.dirbg.com/clubs/icons/wink.gif)
| |
Тема
|
Re: Огромна база???
[re: DDeli]
|
|
Автор |
alexoff ( (_)] .) |
Публикувано | 15.03.05 10:18 |
|
Dim Nomenclature702 As Range
Dim LookUpValue As Variant
Set Nomenclature702 = Range("Nomenklatura702")
For i = 2 To Application.Count(Range("A:A")) + 1
LookUpValue = Application.VLookup(Range("F" & i).Value, Nomenclature702, 2, False)
Range("L" & i).Value = LookUpValue
Next i
Nomenclature702 е област от клетки в един шийт от която се прави сравнението
Това е нещо което писах преди няколко дни за един доста обемист файл с няколко хиляди реда данни.
Редактирано от alexoff на 15.03.05 10:23.
| |
Тема
|
Re: Огромна база???
[re: DDeli]
|
|
Автор |
f(x)dx () |
Публикувано | 15.03.05 10:38 |
|
охооо, на МТел ми мирише тук.
Айде като се поосвободя ще помисля малко. Струва ми се, че има и други варианти за оптимизация освен VВА
Шум в офиса? Слушайте Paul van Dyk
| |
Тема
|
Re: Огромна база???
[re: f(x)dx]
|
|
Автор |
DDeli (Maya - 25.11.02) |
Публикувано | 15.03.05 11:29 |
|
Не мирише ами напрово смърди - това е разбивката по проведени разговори с всеки номер, който е избиран
| |
|
Страници по тази тема: 1 | 2 | >> (покажи всички)
|
|
|