Excel преобразовать все адреса

Перейти к содержимому

Адреса ячеек в программе «Excel» могут отображаться в двух разных форматах:

А11) Самый популярный и для большинства пользователей наиболее удобный формат адреса ячеек — это буквы латинского алфавита с цифрами, где названия столбцов обозначаются буквами, а названия строк цифрами. И, соответственно, ячейки имеют адреса по названию пересечения столбца и строки.RC

2) Второй формат — относительные ссылки, менее популярен и востребован. Этот формат имеет вид R1C1. Такой формат отображения показывает адреса ячеек используемых в формуле относительно выбранной ячейки, в которую записывается формула. Многие пользователи, увидев такой формат отображения адресов ячеек, впадают ступор и пытаются перевести вид адресов в привычный буквенно цифровой вид.

Как перевести формат адресов ячеек R1C1 (RC) в обычный вид: A1; B1; C1 и т.д.

Для изменения вида адресов следует выполнить следующую последовательность действий:R1C1 параметры Excel

  • войти во вкладку «Файл»;
  • выбрать меню «Параметры»;
  • далее выбрать вкладку «Формулы»;
  • во вкладке «Формулы» убрать «галочку» (флажок) напротив параметра «Стиль ссылок R1C1»;
  • нажать кнопку «Ok».R1C1

После выполнения указанной последовательности действий адреса ячеек приобретут привычный вид : A1; B1; C1 и т.д.

Привет, корешки. Допустим, у нас есть куча урлов в Excel. И нам надо преобразовать их в ссылки, чтобы прокликать каждую. Вот наша куча урлов:

urly

Нам нужно выделить ячейку например рядом с первым урлом, перейти во вкладку «Формулы» — «Ссылки и массивы» — «ГИПЕРССЫЛКА».

giperssylka

Затем щелкаем на ячейку с первым урлом и жмем ОК.

giperssylka-2

Ну а дальше нам остается только протянуть ячейки с формулой.

giperssylka-3

Все, корешки, теперь у нас есть список ссылок.

Znet

Znet

Это я. Имею опыт продвижения крупных проектов (более 15К уников дейли), владею небольшой сеткой собственных сайтов.

 

avar99

Пользователь

Сообщений: 94
Регистрация: 30.09.2014

Доброго времени суток!
Прошу помощи в решение задачи по приведению списка адресов к единому формату, адреса выгружаются не мной из различных баз данных и присылаются вместе с другими данными на обработку для рассмотрения..для приведения к единому формату пользуюсь функцией «Текст по столбцам» и потом с помощью функции «Сцепить»  и «Если» пытаюсь решить эту проблему, но так как строк бывает более 1000 то времени уходит очень много.. Предполагаю, что без макроса здесь не обойтись, в чем не разбираюсь… Еще раз прошу помощи

 

TheBestOfTheBest

Пользователь

Сообщений: 2366
Регистрация: 03.04.2015

Excel 2010 +PLEX +SaveToDB +PowerQuery

А вы точно знаете в каком формате будет адрес в источнике?

Неизлечимых болезней нет, есть неизлечимые люди.

 

Слэн

Пользователь

Сообщений: 5192
Регистрация: 16.01.2013

занимался как-то подобной задачей, но 100% результата достичь не удалось
там, правда, еще с ошибками было — те результат анкетирования, и адреса писались как придется
нужен справочник адресов вашего края(субъекта) и по нему уже пытаться выявить соответствие

 

TheBestOfTheBest

Пользователь

Сообщений: 2366
Регистрация: 03.04.2015

Excel 2010 +PLEX +SaveToDB +PowerQuery

Ага, и еще справочник соответствий.

Неизлечимых болезней нет, есть неизлечимые люди.

 

Не знаю насколько пример реален пример и какое в действительности разнообразие данных, но со справочником соответствия думаю можно будет использовать такую конструкцию

=СЦЕПИТЬ(ЕСЛИОШИБКА(ПСТР(A2;ПОИСК(«223???»;A2;1);7);»» );» «;ЕСЛИОШИБКА(ПСТР(A2;ПОИСК(«Эн-*й»;A2;1);13);»» );» «;ЕСЛИОШИБКА(ПСТР(A2;ПОИСК(«Сур*»;A2;1)-2;10);»» );» «;ЕСЛИОШИБКА(ПСТР(A2;ПОИСК(«ул.*,»;A2;1);15);»» ))

Изменено: StepanWolkoff27.05.2015 16:12:42

 

avar99

Пользователь

Сообщений: 94
Регистрация: 30.09.2014

#6

28.05.2015 04:49:00

Цитата
TheBestOfTheBest написал: А вы точно знаете в каком формате будет адрес в источнике?

в том и весь вопрос, что присылают данные из разных источников, поэтому и формат такой разный, а у меня задача чтобы было приведено к одному формату…

Цитата
StepanWolkoff написал: …со справочником соответствия…

Что имеете ввиду под справочником соответствия? КЛАДР?

Изменено: avar9928.05.2015 12:01:38

 

TheBestOfTheBest

Пользователь

Сообщений: 2366
Регистрация: 03.04.2015

Excel 2010 +PLEX +SaveToDB +PowerQuery

Вопрос не в том, что формат разный или одинаковый, понятно, что разный. Вопрос в том известен ли он или каждый новый файл потребуется сначала анализировать на предмет формата, потом для него делать настройку или есть 5 форматов и они не изменяются?

Неизлечимых болезней нет, есть неизлечимые люди.

 

avar99

Пользователь

Сообщений: 94
Регистрация: 30.09.2014

Те варианты, что изложены в примере, охватили все возможные варианты, по крайней мере на текущий момент…

 

TheBestOfTheBest

Пользователь

Сообщений: 2366
Регистрация: 03.04.2015

Excel 2010 +PLEX +SaveToDB +PowerQuery

Тогда я бы сделал так.
Сделал бы 6 шаблонов типа (город, улица,дом, квартира, индекс,край) в комбинациях как в файле. К каждому шаблону свой обработчик — переставить местами поля.
Split-ом разбил каждую строку исходника на 5 колонок и попытался бы выяснить к какому шаблону принадлежит каждая строка используя справочник соответствий для каждого поля(если не удалось выявить макросом, можно ручками проставить). Если соответствия нет, то добавляем в справочник ручками.

Неизлечимых болезней нет, есть неизлечимые люди.

 

avar99

Пользователь

Сообщений: 94
Регистрация: 30.09.2014

К сожалению моих знаний в этой области недостаточно, не могли показать на одном примере как и что необходимо сделать (в макросах я не силен, с вложенными формулам то же как не очень хорошо…

 

TheBestOfTheBest

Пользователь

Сообщений: 2366
Регистрация: 03.04.2015

Excel 2010 +PLEX +SaveToDB +PowerQuery

Есть 2 пути: научиться или заказать в разделе Работа.

Неизлечимых болезней нет, есть неизлечимые люди.

 

Smiley

Пользователь

Сообщений: 530
Регистрация: 16.05.2013

avar99, доброе утро. А при занесении данных в БД нельзя назначить шаблон, чтобы при выгрузке все было одинаково?
Еще вопрос: данные из БД выгружаются одним полем или же для индекса, дома, улицы свое отдельное? В первом случае придется мучиться, во втором — писать запрос к БД.

Изменено: Smiley28.05.2015 10:06:59

 

avar99

Пользователь

Сообщений: 94
Регистрация: 30.09.2014

#13

28.05.2015 10:16:12

Цитата
Smiley написал: при занесении данных в БД нельзя назначить шаблон, чтобы при выгрузке все было одинаково?

выгружаю не я из баз данных, а в разных ведомствах тетечки, которые с программными продуктами ОЧЕНЬ поверхностно знакомы…

 

TheBestOfTheBest

Пользователь

Сообщений: 2366
Регистрация: 03.04.2015

Excel 2010 +PLEX +SaveToDB +PowerQuery

Может тогда логичнее выдвинуть требования к присылаемому формату?

Неизлечимых болезней нет, есть неизлечимые люди.

 

Smiley

Пользователь

Сообщений: 530
Регистрация: 16.05.2013

TheBestOfTheBest, +
Мне кажется, что расположить галочки для выгрузки не так уж сложно…

 

avar99

Пользователь

Сообщений: 94
Регистрация: 30.09.2014

К сожалению неоднократно пытался бороться с тем, чтобы формат данных предоставлялся одинаково, но это безрезультатно…

 

Smiley

Пользователь

Сообщений: 530
Регистрация: 16.05.2013

avar99, дело в том, что это самый очевидный вариант для решения данной задачи. Ну а если строк будет 5-10 тысяч, что будете делать? Макрос не всё сможет исправить…

 

TheBestOfTheBest

Пользователь

Сообщений: 2366
Регистрация: 03.04.2015

Excel 2010 +PLEX +SaveToDB +PowerQuery

вот файл

Неизлечимых болезней нет, есть неизлечимые люди.

 

avar99

Пользователь

Сообщений: 94
Регистрация: 30.09.2014

#19

28.05.2015 11:53:05

Цитата
Smiley написал: Ну а если строк будет 5-10 тысяч, что будете делать? Макрос не всё сможет исправить…

тогда придется с ночевкой на работе оставаться чтобы выполнить задание…
TheBestOfTheBest, спасибо за файл!

ВСЕМ СПАСИБО БОЛЬШОЕ!
Буду вникать в предложенные варианты решения моей проблемы!

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

avar99, прошу использовать кнопку цитирования по прямому назначению.

 

Kuzmich

Пользователь

Сообщений: 7998
Регистрация: 21.12.2012

#21

28.05.2015 12:15:32

Цитата
неоднократно пытался бороться с тем, чтобы формат данных предоставлялся одинаково

Вообще-то для каждого адреса есть код дома (можно узнать в Жилищном агентстве)
И уже не важно как тетечки прописали адрес, важно чтобы в данных был уникальный код дома,
а по нему можно будет выбрать правильный адрес из таблицы соответствия Код — Адрес

 

avar99

Пользователь

Сообщений: 94
Регистрация: 30.09.2014

#22

28.05.2015 13:07:36

Цитата
Kuzmich написал: ..код дома…

как называется данная информационная система, где содержится подобная информация?

Изменено: avar9928.05.2015 13:08:53

 

Kuzmich

Пользователь

Сообщений: 7998
Регистрация: 21.12.2012

#23

28.05.2015 17:25:27

Цитата
где содержится подобная информация?

В центре коммунальных платежей , в Жилищном агентстве, у бухгалтеров Жилкомсервисов,
на крайний случай самому можно присвоить каждому адресу уникальный номер и разослать его
в соответствующие организации, чтобы они включили код в свои отчеты.

док копировать адреса электронной почты в Outlook 1

Предположим, здесь есть столбец адресов электронной почты, и что вам нужно сделать, это скопировать это электронное письмо в раздел Кому сообщения электронной почты Outlook, как показано ниже. Есть ли какие-нибудь быстрые приемы для копирования этих адресов электронной почты в разделы To / CC / BCC сообщения электронной почты Outlook, кроме ввода этих адресов электронной почты по одному вручную?
Преобразование адресов электронной почты в Excel в сообщение Outlook с формулой
Преобразование адресов электронной почты в Excel в сообщение Outlook с помощью Word
Преобразование адресов электронной почты в Excel в сообщение Outlook с помощью Kutools for Excel хорошая идея3


Преобразование адресов электронной почты в Excel в сообщение Outlook с формулой

Чтобы скопировать адреса электронной почты из ячеек Excel в сообщение Outlook, вы можете использовать эту формулу:

= J1 & «;»

Функции: В формуле J1 — это ячейка электронной почты, которую вы используете, вы можете изменить ее по своему усмотрению.

Затем перетащите дескриптор автозаполнения на ячейки, которые вам нужны, чтобы применить эту формулу.
док копировать адреса электронной почты в Outlook 2

Теперь вы можете скопировать эти выбранные электронные письма и вставить их в разделы «Кому», «BBC» или «CC» окна электронного сообщения Outlook.
док копировать адреса электронной почты в Outlook 3


Преобразование адресов электронной почты в Excel в сообщение Outlook с помощью Word

Кроме того, вы можете использовать Word, чтобы помочь вам преобразовать адреса электронной почты в Excel в сообщения Outlook.

1. Скопируйте и вставьте адреса электронной почты из Excel в документ Word как Сохранять только текст. Смотрите скриншот:
док копировать адреса электронной почты в Outlook 4

2. Выберите электронные письма и нажмите Главная > Замените для отображения Найти и заменить диалог. Смотрите скриншот:
док копировать адреса электронной почты в Outlook 5

3. в Найти и заменить диалог, введите ^p в Найти то, что текстовое поле и ; в Заменить текстовое окно. Смотрите скриншот:
док копировать адреса электронной почты в Outlook 6

4. Нажмите Заменить все. Теперь вы можете скопировать адреса электронной почты через точку с запятой в сообщение Outlook.
док копировать адреса электронной почты в Outlook 7


Преобразование адресов электронной почты в Excel в сообщение Outlook с помощью Kutools for Excel

Работы С Нами Kutools for Excel, удобный инструмент, вы можете применить Добавить текст утилита для быстрого добавления точки с запятой к каждому электронному письму для копирования их в сообщение Outlook.

После бесплатная установка Kutools for Excel, пожалуйста, сделайте следующее:

1. Выберите электронные письма и нажмите Кутулс > Текст > Добавить текст. Смотрите скриншот:
док копировать адреса электронной почты в Outlook 8

2. в Добавить текст окно, введите точку с запятой ; в Текстовое окно, и проверьте После последнего символа. Смотрите скриншот:
doc kutools добавить текст 2

3. Нажмите Ok or Применить, а затем скопируйте электронное письмо с точкой с запятой в сообщение электронной почты Outlook.

Щелкните здесь, чтобы узнать больше о добавлении текста.


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

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


Оценок пока нет. Оцените первым!

Браузер не поддерживает видео. Установите Microsoft Silverlight, Adobe Flash Player или Internet Explorer 9.

Следующий просмотр: создание наклеев с помощью слияния в Word

Готовы отправить праздничную рассылку — полно подарков, открыток, приглашений на вечеринку или заметок с благодарностями? Управляйте всеми почтовыми адресами в электронной таблице Excel. Если он сохранен в OneDrive, ваши родственники и друзья смогут совместно редактировать его, а также добавлять или изменять записи. Посмотрите следующее видео, чтобы узнать, как word может легко преобразовать адреса на листе Excel в почтовые наклейки или конверты.

Управление списками адресов

  1. В Excel введите заглавные столбцы.

  2. Чтобы отформатировать почтовый индекс так, чтобы он не был сброшен, щелкните столбец, выберите пункт «Формат > Формат ячеек > Особый >», а затем нажмите кнопку «ОК».

  3. Введите имена и адреса.

  4. Чтобы превратить список в таблицу, щелкните «Форматирование таблицы»,выберите стиль и нажмите кнопку «ОК».

  5. Чтобы отсортировать таблицу, выберите в качестве заглавного столбца вариант сортировки.

  6. Чтобы сохранить файл в облаке, щелкните «Файл» > «Сохранить как> OneDrive —персональный», введите имя и нажмите кнопку «Сохранить».

Нужна дополнительная помощь?

Преобразование телефонных номеров и адресов в excel

MarinaP

Дата: Воскресенье, 08.02.2015, 23:22 |
Сообщение № 1

Группа: Пользователи

Ранг: Прохожий

Сообщений: 1


Репутация:

0

±

Замечаний:
0% ±


Excel 2007

Помогите, пожалуйста, составить алгоритм к данному заданию:
1. Вам дан перечень контактов в обычном виде: 8(8552)49-73-51, 8(8552)49-73-51 в одной ячейке
Нужно привести в такой формат: +78433335566 и на каждый телефон сделать свою ячейку
Телефон №1 +78552534938 ​Телефон №1 +784552534939
2. Вам дан перечень адресов в одной ячейке «РТ, Казань, Улица, Дом» во всех записях «РТ, Казань,» повторяются, а » Улица, Дом» — меняются
Нужно преобразовать адрес так чтобы в 1 ячейке оказался регион (РТ), во второй — город (Казань), в третьей — улица (Улица, Дом)

Таких столбцов несколько сотен и вручную займет много времени и вероятность ошибиться (удалить часть цифр например) велика
Какие функции или формулы экселя вы будете использовать чтобы выполнять эти задачи — опишите своими словами подробно пошагово свои возможные действия (естественно, рецептов может быть несколько, важен ход мыслей)
Например:
для телефонов — перенос в …. ячейки частей … до запятой и после запятой используя функции … с дальнейшей заменой символов ….
для адресов — буду использовать … функции поиска … слова ….


vladimirovna

 

Ответить

_Boroda_

Дата: Воскресенье, 08.02.2015, 23:38 |
Сообщение № 2

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

Не совсем понятны слова
Ну да ладно, держите просто для пары ячеек, для понимания логики расчета. А уж по столбцам (или как там еще нужно, я не понял) раскидайте самостоятельно.
Или кладите файл-пример

К сообщению приложен файл:

7_1.xlsx
(8.5 Kb)


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

На чтение 3 мин. Просмотров 469 Опубликовано 21.05.2021

Предположим, у вас есть несколько интерактивных гиперссылок на листе, и теперь вы хотите преобразовать эти гиперссылки в обычный текст, есть ли у вас какие-нибудь полезные приемы для решения этой задачи? Теперь в этом руководстве представлены некоторые приемы для быстрого выполнения задания в Excel.

Преобразование гиперссылки в простой текст с помощью меню, вызываемого правой кнопкой мыши

Преобразование гиперссылки в обычный текст с помощью VBA

Преобразование гиперссылки в простой текст из выделенного/рабочего листа/книги с помощью Kutools for Excel


Содержание

  1. Преобразование гиперссылки в обычный текст с помощью контекстного меню
  2. Преобразование гиперссылки в обычный текст с помощью VBA
  3. Преобразование гиперссылки в обычный текст из выделенного/рабочего листа/книги с помощью Kutools for Excel
  4. Преобразование гиперссылок
  5. Относительные статьи:

В Excel вы можете использовать меню, вызываемое правой кнопкой мыши, для преобразования интерактивных гиперссылок в обычный текст.

Выберите гиперссылки, которые нужно преобразовать, и щелкните правой кнопкой мыши, чтобы отобразить контекстное меню, затем выберите в нем параметр Удалить гиперссылки . См. Снимок экрана:

Теперь выбранные гиперссылки преобразованы в простой текст.

Примечание: В Excel 2007 вы можете удалять только одну гиперссылку за раз. Для удаления нескольких гиперссылок вам необходимо повторить этот метод много раз.


Если вы хотите использовать код VBA для решения задачи, вы можете выполнить следующие шаги:

1. Одновременно нажмите клавиши F11 + Alt , чтобы открыть окно Microsoft Visual Basic для приложений .

2. Нажмите Вставить > Module , чтобы отобразить новую вдову Module , а затем вставьте ниже код VBA в Модуль .

VBA: преобразование гиперссылок в простой текст.

3. Нажмите клавишу F5 или нажмите кнопку Выполнить , чтобы выполнить этот VBA, тогда все гиперссылки на всем листе будут преобразованы в обычный текст.

Примечание. С этим VBA все гиперссылки на текущем листе будут преобразованы в обычный текст.


Если у вас есть Kutools for Excel , вы можете использовать его Удалить гиперссылки без потери форматирования для преобразования гиперссылок из выделенного, активного листа, выбранных листов или всю книгу.

После бесплатной установки Kutools for Excel, сделайте следующее:

Примените утилиту, нажав Kutools > Ссылка > Удалить гиперссылки без потери форматирования , затем выберите вариант как y тебе нужно. См. Скриншоты:


Возможно, вас заинтересует эта утилита:

Преобразование гиперссылок

Kutools for Excel ‘s Конвертировать Гиперссылки могут быстро заменить адреса гиперссылок содержимым ячеек и наоборот.

Перейти к загрузке
Бесплатная пробная версия 30 днейПокупка
PayPal/MyCommerce


Относительные статьи:

  • Как удалить определенный/определенный символ из ячейки в Excel?
  • Как удалить линии в Excel?
  • Как найти и разорвать внешние ссылки в Excel?

1. Откройте вкладку средства разработки, чтобы вызвать функцию программирования VB.

13946199-c8e248b710c57580.png

Файл-Настройки

13946199-46360f4ec4e0eec5.png

Проверить средства разработки

13946199-fdbd58caeee10f6a.png

Я сохраняю Excel как формат xlsm, который может включать макросы

Два, три метода преобразования URL в изображение

1. Сохраняйте одновременно картинки и соединения (напишите программу vb и вызовите соответствующий макрос)

Сначала преобразуйте все ссылки в форму гиперссылки (синий шрифт с подчеркиванием)

13946199-3f6f3fe12e4db27d.png

Некоторые ссылки выделены жирным шрифтом

Средство разработки — Visual Basic (или сочетание клавиш ALT + F11) войдите в интерфейс VB, а затем дважды щелкните кнопку Sheet1, чтобы открыть окно программирования VB.

13946199-ac1ab1bf32ccda2f.png

Окно программирования VB

Введите следующий код и сохраните

Sub loadimage()
Dim HLK As Hyperlink, Rng As Range
 Для каждого HLK в ActiveSheet. Гиперссылки на каждую гиперссылку в активном листе.
         Если HLK.Address Like "* .jpg" или HLK.Address Like "* .gif" Then 'Если расположение ссылки - изображение в формате jpg или gif (здесь только для этих двух типов изображений можно создать больше типов, создав массив или Словарь или обычный судить)
                 Set Rng = HLK.Parent.Offset (, 1) 'Установить позицию для вставки целевого изображения
                 С помощью ActiveSheet.Pictures.Insert (HLK.Address) 'Вставьте изображение в адрес ссылки
                         Если .Height / .Width> Rng.Height / Rng.Width Then 'Оцените отношение соотношения сторон изображения к соотношению сторон ячейки, чтобы определить коэффициент масштабирования ячейки
                .Top = Rng.Top
                .Left = Rng.Left + (Rng.Width - .Width * Rng.Height / .Height) / 2
                .Width = .Width * Rng.Height / .Height
                .Height = Rng.Height
            Else
                .Left = Rng.Left
                .Top = Rng.Top + (Rng.Height - .Height * Rng.Width / .Width) / 2
                .Height = .Height * Rng.Width / .Width
                .Width = Rng.Width
            End If
        End With
    End If
Next
End Sub

13946199-ca4defbbadaf59b6.png

Введите код vb

Инструменты разработки-Макро-Выполнение

13946199-65ef95d1feab1db5.png

Отображение картинки после выполнения макроса

2. Удалите ссылку и оставьте только картинку (вставьте метод сценария VB)

Создайте новый блокнот и сохраните следующий код в формате .bas.

'charset GB2312. Ссылка на изображение в Excel преобразуется в файл изображения.

Attribute VB_Name = "LoadImage"
Sub LoadImage()
Dim HLK As Hyperlink, Rng As Range
 Для каждого HLK в ActiveSheet. Гиперссылки на каждую гиперссылку в активном листе.
         Если UCase (HLK.Address) как «* .JPG» или UCase (HLK.Address) как «* .JPEG» или UCase (HLK.Address) как «* .PNG» или UCase (HLK.Address) как «*. GIF "Then'Если расположение ссылки - изображение в формате jpg или gif (здесь только для этих двух типов изображений можно определить другие типы, создав массив, словарь или обычный)
                 Set Rng = HLK.Parent.Offset (, 0) 'Установить позицию для вставки целевого изображения
                 С помощью ActiveSheet.Pictures.Insert (HLK.Address) 'Вставьте изображение в адрес ссылки
                         Если .Height / .Width> Rng.Height / Rng.Width Then 'Оцените отношение соотношения сторон изображения к соотношению сторон ячейки, чтобы определить коэффициент масштабирования ячейки
                .Top = Rng.Top
                .Left = Rng.Left + (Rng.Width - .Width * Rng.Height / .Height) / 2
                .Width = .Width * Rng.Height / .Height
                .Height = Rng.Height
            Else
                .Left = Rng.Left
                .Top = Rng.Top + (Rng.Height - .Height * Rng.Width / .Width) / 2
                .Height = .Height * Rng.Width / .Width
                .Width = Rng.Width
            End If
        End With
                 HLK.Parent.Value = "" 'Удалить ссылку на изображение ячейки
    End If
Next
End Sub

Щелкните правой кнопкой мыши страницу листа в интерфейсе VB и выберите Импортировать файл.

13946199-b19c616a7e0a35a6.png

Щелкните лист правой кнопкой мыши и выберите файл импорта.

13946199-9e8d18496eda4a4e.png

Модуль появляется после импорта файла

Средства разработки-Макро-Выполнение модуля LoadImage

13946199-f0e9c5a4b69f003c.png

Выполнить макрос LoadImage

13946199-f54438ce5e9a60e7.png

Результат после казни

3. Активно выбирайте, открывать ли картинку

То же, что и метод 1, но вам нужно выбрать объявление как BeforeRightClick, и он будет срабатывать, когда вы установите его для щелчка правой кнопкой мыши

13946199-3dd984912655d538.png

Щелкните правой кнопкой мыши, чтобы запустить макрос

Вставьте следующий код в соответствующий метод времени

With Target
                 If Left (.Value, 7) = "http: //" Then'Если содержимое ячейки является URL-адресом
                         'Добавить сетевое изображение и установить размер и положение изображения для изменения при изменении ячейки
            ActiveSheet.Shapes.AddPicture(.Value, msoCTrue, msoCTrue, .Left, .Top, .Width, .Height).Placement = xlMoveAndSize
                         .WrapText = True 'Ячейка настроена на автоматический перенос, чтобы скрыть URL
        End If
End With

Щелкните ячейку правой кнопкой мыши, чтобы отобразить изображение

дополнение

Решите проблему отображения URL-адресов без гиперссылок в виде изображений в области комментариев.

Sub loadimage()
Dim ranTotal As Range, rng As Range, imageRng As Range 'Установить три переменные диапазона
 Set rngTotal = Range ("o: o") 'Выберите столбец o, в котором хранится URL
 Для каждого rng ​​In rngTotal'traverse все ячейки столбца
         If Left (rng.Value, 7) = "http: //" Then'Если содержимое ячейки является URL
                 Установить imageRng = rng.Offset (, 1) 'Адрес, где хранится изображение
        With ActiveSheet.Pictures.Insert(rng.Value)
                         Если .Height / .Width> imageRng.Height / imageRng.Width Then 'Определите отношение соотношения сторон изображения к соотношению сторон ячейки, чтобы определить коэффициент масштабирования ячейки
                .Top = imageRng.Top
                .Left = imageRng.Left + (imageRng.Width - .Width * imageRng.Height / .Height) / 2
                .Width = .Width * imageRng.Height / .Height
                .Height = imageRng.Height
            Else
                .Left = imageRng.Left
                .Top = imageRng.Top + (imageRng.Height - .Height * imageRng.Width / .Width) / 2
                .Height = .Height * imageRng.Width / .Width
                .Width = imageRng.Width
            End If
        End With
    End If
Next
End Sub

Понравилась статья? Поделить с друзьями:
  • Excel презентация на английском
  • Excel презентация для 8 класса
  • Excel презентации для информатики
  • Excel предыдущий рабочий день
  • Excel предыдущий месяц формула