Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 08.02.2008, 18:59   #1
Anna Batalina
 
Регистрация: 08.02.2008
Сообщений: 3
По умолчанию Мне нужен мудрый совет по EXCEL.

Из 1-го листа перейти на 2-й,
На котором географическая карта.
Проблема та, что мне необходимо работать по этой карте используя ячейки.
Если это возможно, я буду очень признательна Вам за совет

Анна.
Anna Batalina вне форума
Старый 10.02.2008, 01:57   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Не асилил тех.задание, мало буков.
Опишите подробнее задачу, в чем именно проблема?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 10.02.2008, 02:34   #3
Pavel55
Форумчанин
 
Регистрация: 21.08.2007
Сообщений: 292
По умолчанию

лучше приложить файл сюда
Pavel55 вне форума
Старый 10.02.2008, 14:58   #4
Anna Batalina
 
Регистрация: 08.02.2008
Сообщений: 3
По умолчанию

Игорь, просто СПАСИБО, за реакцию. Честно сказать, уже и не надеялась.
Я делаю информационную «программу». Меня интересуют металлургические и судостроительные заводы на Украине. В информация которую я предоставлю будет , ну назовем на Первом Листе, город Одесса. Для удобства пользователя (заказчика) который абсолютно не знает что такое Украина нужно на карте, которая будет (опять назовет на 2-м листе) выделить город Одесса. И так по каждому городу.
Я сделаю все ссылки, но как, черт побери, установить обычный gif файл. Я установила файл, как ФОН и это было бы идеально, так как я смело управляю ячейками и могу делать с ячейкой, на которой расположен город Одесса, все что мне нужно, но это фон (файл.gif) на весь экран EXCEL.Вот и сижу в программе LviewPro и делю Украину на квадратики и вставляю в excel. Если то, что я написала так сумбурно, будет Вам понятно и Вы возможно найдете более простое решение, в любом случае я уже горжусь знакомством с Вами
Anna Batalina вне форума
Старый 11.02.2008, 12:28   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Анна, не могу не ответить...
взаимной любезностью: в этом году я еще не получал писем с более приятным содержанием. Со мной случилась меланхолия, я просматривал неотвеченные темы, написал и... получил ТАКОЙ ответ. Приятно.

А по существу - я встречал где-то в недрах Интернета описание макроса, который переводить растровые изображения на лист Excel. Автор утверждал, что получаются интересные картинки. Я тогда воспринял это просто как интересную идею, ан нет же, на Вашем примере, оказалось, что в этом есть практическая польза.
Я пытался отыскать этот макрос, но, должен признать искал вяло (я не был уверен, что правильно уловил суть проблемы), результат соответственный.

Дерзайте, решение существует...
Не найдете - могу написать за 1-2 дня, самому интересно.

p.s. А то, что Ваши заказчики не знают что такое Украина не делает им чести, да и нам тоже...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 11.02.2008, 14:00   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Аня, а что обязательно это в Эхеле делать?
I'm learning to live...
Stilet вне форума
Старый 13.02.2008, 15:18   #7
Anna Batalina
 
Регистрация: 08.02.2008
Сообщений: 3
По умолчанию

Игорь, веришь, мысленно писала тебе 150 раз, но не послушавшись совета, что мысль материальна все-таки пишу.
Почему excel ? можно долго писать что нужна большая работа с данными + вывод экономического эффекта, но Виталия вопрос хорошо тем, что реально серьезно задумалась над ним и теперь точно знаю что просто, люблю я эту программу.
Что еще, что еще??? ДА, ! Игроь, твой p.s. точен невероятно, особенно после зяпятой.
Ну а теперь, в заключение, самые лучшие, самые искренние и добрые пожелания Вам из Нидерландов.
А.
Anna Batalina вне форума
Старый 13.02.2008, 17:28   #8
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Ниже текст макроса.
Он может отобразить выбранный рисунок на листе экселя путем закрашивания ячеек в нужный цвет.
Вещица корявая не судите строго. Но для отображения контуров Украины вполне сгодиться.
Ограничения:
1. Работает только с ВМР-файлами.
2. ВМР должен быть 24-битным
3. ВМР должен быть не сжатым.
4. Ширина картинки до 256 пикселей.
Если стартовая картинка не соответствует этим требованиям, необходим графический редактор, который позволяет произвести необходимые манипуляции с исходником чтобы привести его к нужным кондициям.
И еще одно ВАЖНОЕ! замечание: картинка будет прорисована на активном листе, побеспокойтесь сами чтобы лист был без важных для вас форматирований. Данные и формулы не пострадают. Короче, рекомендую выполнить макрос на новом листе.

Если нужна информация, как внедрить и выполнить макрос - напишу дополнительно.

Спасибо всем, кто дочитал до этих слов. Дальше, собственно, макрос, состоящий из двух процедур. Выполнить необходимо InsPicture.

Удачи. Привет всем нашим в Нидерландах!


Sub InsPicture()
Dim fn As String, W As Long, H As Long, w1 As Integer, dof As Long, bpp As Integer, sz As Long
Dim r As Long, p As Long, ln As Long, BMP As Boolean, bt As Byte
Dim rc As Byte, gc As Byte, bc As Byte
With Application.FileDialog(msoFileDialo gFilePicker)
.Title = "Выбери файл, или откажись от этой затеи"
.Filters.Add "BitMap", "*.bmp"
.AllowMultiSelect = False
If .Show = -1 Then fn = .SelectedItems(1) Else Exit Sub
End With
Open fn For Random As #1 Len = 1
Get #1, 1, bt: BMP = bt = 66
Get #1, 2, bt: If BMP Then BMP = bt = 77
Close #1
If Not BMP Then MsgBox "Закрываемся... Не BMP-файл.": Exit Sub
bpp = ReadNB(fn, 2, 29)
If bpp <> 24 Then MsgBox "Закрываемся... Конвертируйте ваш файл каким-нибудь графическим редактором в 24-битный имидж.": Exit Sub
dof = 1 + ReadNB(fn, 4, 11)
W = ReadNB(fn, 4, 19): H = ReadNB(fn, 4, 23)
If W > 256 Then MsgBox "Имидж очень большой. Нарисую часть. Принимается ширина до 256 пикселей. У экселя столько колонок:-(."
Application.Calculation = xlManual
Cells.Select: Selection.ColumnWidth = 0.33: Selection.RowHeight = 3
If W > 255 Then w1 = 255 Else w1 = W
ActiveWindow.DisplayGridlines = False
Range(Cells(1, 1), Cells(H, w1)).Activate: ActiveWindow.Zoom = True
Cells(H + 1, 1).Select
If (W * 3 Mod 4) = 0 Then ln = W * 3 Else ln = (Int(W * 3 / 4) + 1) * 4
For r = 0 To H - 1
For p = 0 To Int(ln / 3)
rc = ReadNB(fn, 1, dof + r * ln + p * 3): gc = ReadNB(fn, 1, dof + r * ln + p * 3 + 1): bc = ReadNB(fn, 1, dof + r * ln + p * 3 + 2)
If p = 256 Then Exit For
If p < W Then Cells(H - r, p + 1).Interior.Color = RGB(rc, gc, bc)
Next
Next
Application.Calculation = xlAutomatic
End Sub


Function ReadNB(s As String, n As Byte, of As Long) As Long
Dim b As Byte, i As Byte, r As Long
Open s For Random As #1 Len = 1
r = 0
For i = 0 To n - 1
Get #1, of + i, b
r = r + b * 2 ^ (8 * i)
Next
Close #1
ReadNB = r
End Function
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужен совет Михаил Юрьевич Общие вопросы Delphi 2 07.06.2008 13:59
Нужен совет Михаил Юрьевич Общие вопросы Delphi 3 04.05.2008 21:52
Нужен совет Kler Свободное общение 0 27.03.2008 23:44
Нужен ваш совет SZero Помощь студентам 3 24.02.2008 17:51
Нужен совет Михаил Юрьевич Общие вопросы Delphi 7 27.01.2008 10:25