Страницы: 1
RSS
Эмблемы футбольных клубов
 
Доброго всем времени. Имеется футбольная таблица в Экселе с графическим изображением эмблем клубов. Формулами сделано так, что при перемещении клуба по турнирной таблице в зависимости от результатов этого клуба в чемпионате, эмблема клуба движется вместе с ним, т.е. эмблема  постоянно соответствует своему клубу.  
Возможно ли формулы заменить кодом? и ускорит ли это работу файла?  
Почему спрашиваю, ведь приведенный мною пример вроде быстр и работает отлично?  
Дело в том, что этот выложеный пример специально сделан в упрощенном виде, чтобы уменьшить вес этого примера и с ним удобно было работать, а у меня файл, где используется более сотни Индексов, и он начинает подтормаживать, хотя объем файла увеличился незначительно.
 
Прошу прощения, но файл получился 350 кБ уже в архиве и уменьшить я его уже не могу.  
Вот ссылка:  
http://webfile.ru/5941445
 
{quote}{login=kola}{date=05.05.2012 06:41}{thema=Эмблемы футбольных клубов}{post}... у меня файл, где используется более сотни Индексов, и он начинает подтормаживать...{/post}{/quote}В РПЛ всего 16 клубов. И даже если мистер Фу добавит ещё несколько, сотни всё-равно никак не получается...  
 
ЗЫ Файл очень даже хорош, приятно посмотреть
 
Рисунки эмблем на листе "Чемпионат" переименовать в соответствии с названиями клубов.  
Пробелы перед наименованиями клубов убрать (лист "text").  
Эмблемы на листе "Flag" удалить.  
В код листа "Чемпионат":  
Private Sub Worksheet_Change(ByVal Target As Range)  
Application.EnableEvents = False  
For i = 4 To 19  
With Shapes(Cells(i, 16))  
.Left = Cells(i, 15).Left  
.Top = Cells(i, 15).Top  
End With  
Application.EnableEvents = True  
Next i  
End Sub
 
Да, в чемпионате достаточно будет и 16 индексов. Я хочу это дело применить для Кубка, где этих индексов будет более 100, потому как мы не знаем, какие команды пройдут в следующий этап. На каждом этапе приходится индексовать всё по-новой. Я сделал такой файл, но там тормоза...  
Всё же хотелось услышать экспертное мнение насчет скорости работы файла при замене формул на код. Стоит ли с этим заводиться?
 
{quote}{login=kola}{date=05.05.2012 07:05}{thema=}{post}...Всё же хотелось услышать экспертное мнение насчет скорости работы файла при замене формул на код. Стоит ли с этим заводиться?{/post}{/quote}Это к универсалам вопрос :-)  
Но в принципе, эксель не предназначен для работы с графическими объектами, это скорее просто опция...
 
Рисунки эмблем на листе "Чемпионат" переименовать в соответствии с названиями клубов.  
k61  
Что имеется в виду? переименовать в строке формул? Но с кавычками, типа ="Зенит", строка формул название не принимает.
 
k61  
Да и с пробелами тоже не проходит...
 
k61  
Или имя рисунку присваивать через Вставка--Имя--Присвоить?
 
"Рисунки эмблем на листе "Чемпионат" переименовать в соответствии с названиями клубов."  
Господа, подскажите, как это сделать, - что-то у меня не выходит...(
 
Не вижу - где эти рисунки? :-)  
Выделяем рисунок, над ячейкой А1 есть поле, в котором будет отображено текущее имя рисунка. Там и меняем.
 
Юрий М  
Спасибо, получилось...)
 
k61  
Я всё проделал согласно Вашей рекомендации:  
Рисунки эмблем на листе "Чемпионат" переименовать в соответствии с названиями клубов.  
Пробелы перед наименованиями клубов убрать (лист "text").  
Эмблемы на листе "Flag" удалить.  
В код листа "Чемпионат":  
Private Sub Worksheet_Change(ByVal Target As Range)  
Application.EnableEvents = False  
For i = 4 To 19  
With Shapes(Cells(i, 16))  
.Left = Cells(i, 15).Left  
.Top = Cells(i, 15).Top  
End With  
Application.EnableEvents = True  
Next i  
End Sub  
В результате картинки остались, но без изображения вообще, пустые...(
 
k61  
Я повторно проделал всё сосгласно Вашей рекомендации. Уже при сохранении файла (как и в прошлый раз) выскочила менюшка следующего содержания:  
Предупреждение о конфидециальной информации: документ содержит макросы, элементы управлени ActiveX, данные пакета расширения XML или веб-компоненты. Они могут включать личные сведения, которые нельзя удалить с помощью флажка !удалять личные сведения из свойст файла при сохранении" на вкладке "Безопасность" диалогового окна "Параметры" (меню "Сервис").  
Я кликнул по "Отмена", тогда выскочило "Документ не сохранен". Тлгда я при повторном сохранении кликнул "ОК".  
Повторно загрузил файл, но изображения остались пустыми.  
Что я неверно сделал?
 
k61  
Разобрался. Нужно было просто эмблемы перенести с листа Флаг на лист Чемпионат, переименовать эмблемы в соответствии с названиями команд, а лист Флаг вообще удалить. Ну и, конечно же, на лист Чемпионат внести код.  
Всё работает.  
Единственно, что мешает, что каждый раз при сохранении файла выскакивает меню Предупреждение, текст которого я уже приводил. Как от него избавиться?  
Файл уменьшился в объеме почти вдвое, но больше 100 кБ.  
Вот, что получилось:  
http://webfile.ru/5943585
 
 http://yandex.ru/sitesearch?text=%CF%F0%E5%E4%F3%EF%F0%E5%E6%E4%E5%ED%E8%E5+%EE+%EA%EE%E­D%F4%E8%E4%E5%F6%E8%E0%EB%FC%ED%EE%E9+%E8%ED%F4%EE%F0%EC%E0%­F6%E8%E8%3A+%E4%EE%EA%F3%EC%E5%ED%F2+%F1%EE%E4%E5%F0%E6%E8%F­2+%EC%E0%EA%F0%EE%F1%FB%2C+%FD%EB%E5%EC%E5%ED%F2%FB+%F3%EF%F­0%E0%E2%EB%E5%ED%E8+ActiveX%2C+%E4%E0%ED%ED%FB%E5+%EF%E0%EA%­E5%F2%E0+%F0%E0%F1%F8%E8%F0%E5%ED%E8%FF+XML+%E8%EB%E8+%E2%E5­%E1-%EA%EE%EC%EF%EE%ED%E5%ED%F2%FB.+%CE%ED%E8+%EC%EE%E3%F3%F2+%E2&searchid=84804&web=0&lr=22
 
Юрий М  
Благодарю. Действительно, мог бы и самостоятельно воспользоваться поиском...))
 
Всем спасибо за оказанную помощь! В принципе вопрос закрыт, но...))  
Прошу прощения за наглость, но возник еще один вопрос: как прописать код, чтобы эмблемы сохранялись возле названий клубов, если они буду повторяться? причем, несколько. К примеру, в каждом туре (а их 30). Трудно ли это?  
Вот пример:  
http://webfile.ru/5943663
 
В принцмпе всё получилось. Мы с товарищем немного доработали предложенный здесь код и вот что вышло:  
http://webfile.ru/5950066 (323 кБ)  
Файл расчитан на 30 туров футбольного чемпионата, но файл при этом работает быстро и без проблем.  
Мы попробуем еще несколько вариантов подобного фокуса с эмблемами и, если кому будет интересно, то выложим инфу здесь, ведь код можно применить не только для футбола...  
Еще раз большое спасибо за помощь!
 
*К сожалению, файл не найден*
Киса, я хочу Вас спросить, как художник — художника: Вы рисовать умеете?
 
LightZ  
Только что открыл...  
http://webfile.ru/5950066
 
LightZ  
(323 кБ) копировать не нужно...)) а только http://webfile.ru/5950066
 
Вот это:  
    Do While Cells(i, 16) = ""  
    i = i + 1  
    Loop  
можно заменить на одну строку If Cells(i, 16) = "" Then i = i + 1
 
For i = 4 To 1141   ' Начало цикла. i - это номер строки. Т.е. - для строк от 4 по 38.  
Для строк с 4-й по 38-ю должно быть так:  
For i = 4 To 38  
Или коментарий неверный?
 
k61  
Комментарий просто остался с момента, когда прорабатывалось 2 тура. Конечно, в этом файле должно быть 1141...)
 
Я заменил  
Do While Cells(i, 16) = ""  
i = i + 1  
Loop  
на  
If Cells(i, 16) = "" Then i = i + 1  
Код выдал ошибку...((
 
Но раз уж исправил, то...:  
Private Sub Worksheet_Change(ByVal Target As Range)  
Application.EnableEvents = False  
For i = 4 To 1141  
If Cells(i, 16) = "" Then  
i = i + 1  
Else  
With Shapes(Cells(i, 16))  
.Left = Cells(i, 15).Left  
.Top = Cells(i, 15).Top  
End With  
End If  
Application.EnableEvents = True  
Next i  
End Sub
 
Если туров разумное количество (30), не удобнее ли иметь на каждый тур отдельный лист (на котором все данные будут перед глазами без прокрутки) + 1 лист итоговой таблицы + 1 лист с наименованиями клубов ?  
Отбываю в микрокомандировку на 40 мин.
 
k61  
Ввел новый код. Изображение команды Зенит пропало, причем с 19-го тура. Короче, эмблему на первом месте не показывает.  
По поводу болельщицкого вопроса: этот файл я специально создал как пример для решения определенной задачи - расстановка эмблем соответственно своим командам,  ну и еще одной задачки по поводу разделения текста в ячейке.    
В своих работах (а я их посвящаю в большинстве своем футболу) я использую или пытаюсь использовать максимум возможностей Экселя, в том числе и навигацию по всему файлу при помощи ссылок и проч. Я пытаюсь свои таблицы сделать наглядными и простыми в использовании, чтобы каждый, кто даже мало знаком с Экселем, мог ими свободно пользоваться.  
Вот здесь  
http://ua-football.com/ukrainian/excel/  
Вы можете при желании посмотреть примеры.  
А вообще-то можно, конечно, создать на каждый тур свой лист и там выложить максимум информации. Я это вижу так, как вижу...))  
А вообще-то, большое спасибо за участие и помощь, без помощи гуру этого замечательного сайта я не смог бы воплотить в жизнь свои идеи.
Страницы: 1
Читают тему
Наверх