Помогни ни да направим Uroci.net по - богат! Добави урок

Смяна на картинки в Ексел чрез падащ списък и макроси

oldstar   трудност:    видян: 14449

 

Ще разгледаме поотделно двата случая

I. Снимките са на компютъра
Снимките трябва предварително да са умалени и сложени в отделна папка

 

1. В някоя колона (не А) изписваме всички уточняващите имена на снимките/картинките-напр. Залез, Лилии итн. Или просто-Снимка 1,2,3... В съседната колона изписваме точно оригиналните имена на снимките картинките с окончанията.-напр. Sunset.jpg. Препоръка: Добре е тези колони да са извън видимата част на таблицата –някъде в дясно или по-долу.

 

В примера за яснота, колоните със списъка с с уточняващите имена и оригиналните имена са съответно G и H. Снимките са 4, а списъка е в клетка А1


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


а) чрез абсолютни адреси- при абсолютните адреси се слага знака долар ($) пред номера на колоната и реда
б) даване на общо име на сектора. Маркираме колоната с уточняващите имена (в примера колона G) и Insert Name-Define (за 2003) или Formulas-Define name (за 2007). В отворилото се прозорче в Name пишем име на маркираното – напр. Snimki. По-долу в Refers to автоматично се е изписал маркирания сектор.

2. Маркираме А1 и Data-Validation. От менюто на Allow чрез стрелката избираме List, а в Source пишем:
а) в абсолютни адреси „ = $G$1:$G$4” без кавичките или
в) по име „ = Snimki” без кавичките и потвърждаваме. Полученото трябва да изглежда така:

 

3. Маркираме А2 и там изписваме формулата

=VLOOKUP(A1;$G$1:$H$4;2;0)

В А2 се появява #N/A (клетката А1 е празна). Кликваме в А1. Там се появява стрелкичка с менюто на падащия списък.
Забележка: Тук вместо А2 може да се маркира клетка извън видимата част на таблицата. Формулата остава същата.

 

4. Чрез стрелкичката избираме фото1. Десен бутон върху А1 и insert Comments. Появява се Text Box. Изтриваме писаното в него и кликваме върху очертанията му. Разширяваме го и го наместваме на удобно място. Кливаме отново върху А с десен бутон и Show/Hide Comments.

 

5. Кликваме с ляв бутон върху очертанието на бокса и от контектното меню Format Comment-Colors and Lines-Fill Effects-Picture-Select picture. Намираме снимката-Фото1 и потвърждаваме Снимката се вмества в бокса и в А2 се изписва името

 

 

Сега трябва да въведем кода, за да може да „въртим” снимките.

 

6. Маркираме някоя празна клетка и Alt+F11. Там от Microsoft Excel Objects кликваме два пъти върху Sheet1 и в прозорчето за кода изписваме следното (виж уточнението):

Уточнение:
- Тук А1 е клетката, в която ще излизат указващите надписи (Абсолютен адрес)
- D:pic_change е директорията в компютъра, където се съхраняват умалените снимки 
- А2 е клетката, в която е изписана формулата VLOOKUP . Там се изписват и оригиналните имена на снимките.


Това е кода за примера. Направете корекции в кода съобразно вашите условия

 

При избиране надписите от падащото меню на А1 се появява и съответната снимка.

 



Допълнително оформяне – по желание
a) скриване колоните с имената на снимките реда с формулата VLOOKUP. (ако са във видимата част на таблицата) . За примера това са колони G и H и ред 2
б) скриване мрежата (Gridlines)
в) оцветяване линиите на бокса на коментарите и фона на Sheet-a в един и същ цвят за да изчезнат линиите и стрелката. Пример:


 

 

II. Снимките се вкарват (insert) директно в екселския файл

1. Чрез Insert-Picture - From File вкарваме картинките в Sheet 1. Тук няма значение чрез коя клетка са вкарани картинките, т.е можем да маркираме коя да е клетка и Insert Picture. Без значение и местоположението на снимките. На място намаляваме размерът на снимките

 

2. Кликваме последователно върху всяка една картинки и им даваме име. При самото вкарване на картинките Ексел автоматично изписва име (референтно) в клетката горе в ляво над ред 1 като Picture (1,2 и тн). Името се вижда като активираме картинка, т.е като кликнем върху нея. Можем да запазим имената, които Ексел дава или използваме наши, като изтрием името от клетката и напишем свое.
Забeлежки:
а). Смяната на името в клетката става при активирана картинка (активираме картинката, маркираме името в клетката, DEL, изписваме свое, Enter). 
б) Нашите имена може да са на латиница или на кирилица, но не трябва да са свързани или приличат на адреси на клетки. Пример-картинката не може да се кръсти P2 (на латиница); може да е P2 или П2 (на кирилица)


3.В някоя колона на Sheet2 изписваме всички уточняващи имена на снимките (както по-горе) и в съседната колона изписваме точно(вкл. и интервали, ако има) имената, които Ексел или ние сме дали на снимките. Списъкът може да бъде с и без антетка.

 

 

4. Маркираме двете колони (без антетка, ако има) и даваме име на маркирания участък-напр.snimki

 

5. Избираме място (клетка) в Sheet 1, където да се появяват снимките и там изписваме формулата. За примера избираме клетка F1. Маркираме F1 и изписваме формулата

=VLOOKUP(A1;snimki;2;False)

В случая А1 е клетката където ще се появи падащия списък .

 

6. Маркираме А1-клетката на падащия списък и Data-Validation. изписваме формулата

 

= OFFSET(snimki;;;;1) [snimki, точка и запетая – 4 пъти, едно]

 

В F1 се появява #N/A (клетката А1 е празна). Кликваме в А1. Там се появява стрелкичка с менюто на падащия списък.
Ако всичко е е изписано точно, полученото трябва да изглежда така:


 

 

7. Въвеждаме кода .Маркираме някоя празна клетка и Alt+F11. Там от Microsoft Excel Objects кликваме два пъти върху Sheet1 и в прозорчето за кода изписваме следното:

 

 

 

Уточнение:
Тук F1 e адреса на клетката, където ще се показват снимките. Тя е просто указателна клетка и не са необходими допълнителни действия по нея (форматиране, разширяване или др)
Важно!
Отбелязаната в кода клетка (F1) трябва да е същата, в която е написана формулата VLOOKUP. Или напр. ако формулата е написана в H1, в кода трябва да е пак H1. 

 

При отваряне на списъка в А1 чрез стрелкичката и избиране на снимка, всички снимки от таблицата изчезват и остава само избраната. При всяко ново избиране се показва съответната снимка.

 

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


1. В първия случай- наред с екселския файл, трябва да се изпрати и отделна папка със снимките. За да може получателя да ползва файла нормално (да „превъртва” снимките), той трябва да направи съответната промяна в кода – да промени пътя до папката с картинките в своя компютър.
2. Във втория случай –файлът може да се изпрати директно, но трябва да се прецеци големината му. Вложените снимки увеличават обема му.


В зависимост от настройките на Ексел разделителите могат да са запетав, вместо точка и запетая както е тук.

За улеснение двата кода (като txt файл) могат да бъдат изтеглени от долните линкове. 
Код при снимки на PC
http://www.mediafire.com/?bv29h2bt6n86zqw  

Код при снимки в Ексел

http://www.mediafire.com/?d4pecd47biv3d09

 

автор: oldstar





Коментари (2)

simnik на 05.04 2011 в 17:09ч.
Използвайки втория метод от различни параметри от падащото меню в клетка А1 във F1 се появяват различни снимки отговарящи на параметъра. Обаче не мога да го направя съответно и в клетка А2 от падащо меню с различни параметри да излиза съответната снимка във F2, като избраното в А1-F1 да остане....Pls help.
oldstar на 07.04 2011 в 15:26ч.
Най-просто е едното да бъде с макрос, другото с формула.

Регистрирайте се, за да добавите коментар


Калдейта ЕООД - © 2003-2010. Всички права запазени.
Препоръчваме: Национален Бизнес | Bomba.bg | IT Новини | Диплома.бг | TRAVEL туризъм | Реферати | AmAm.bg | Иде.ли | Курсови работи | Фото Форум | Spodeli.net | Фото-Култ | Atol.bg | Elmaz.com | MobileBulgaria.com | Казанлък.Com