Excel конвертувати діапазон у HTML? Excel 2010


1

Я хочу взяти діапазон A1:I26на аркуші "Desc" і перетворити його в HTML. Потім цей HTML відображається у комірці H2на аркуші "-Listings-"

У клітинках у діапазоні A1:I26є графік із форматуванням, яке я хочу зберегти (тобто стиль шрифту, колір, макет). Я хочу, щоб він містив значення тексту, а не формули за ним.

Ось знімок екрана того, що я роблю:

введіть тут опис зображення


Ласкаво просимо до Супер Користувача. На жаль, ми не є сервісом написання коду. Замість того, щоб просто просити код для виконання певного завдання, покажіть нам, що ви намагалися до цього часу (включаючи будь-який код, який у вас зараз є) і де ви застрягли, щоб ми могли допомогти вам у вирішенні вашої конкретної проблеми. Питання, які запитують лише код, занадто широкі і, ймовірно, можуть бути зупинені або закриті . Прочитайте, будь ласка, як мені поставити гарне запитання? .
DavidPostill

У мене немає коду. Я використовував декілька кодів, які я знайшов в Інтернеті, але жоден не працює. Більшість - це те, що я хочу, кінцевий результат - для електронної пошти. Я просто хочу перший тайм.
Райан Хаббард

Прочитайте ще раз мій коментар "Будь ласка, покажіть нам, що ви намагалися до цього часу ( включаючи будь-який код, який у вас є зараз ) і де ви застрягли "
DavidPostill

Чому, на вашу думку, потрібно перетворити діапазон у HTML? Графіки в Excel зазвичай не присвоюються діапазону комірок. Хоча вони можуть плавати над (покривати) цілий спектр комірок. Графіки, як правило, є об'єктом, який можна вибрати, скопіювати та вставити в інше місце. Ви спробували просто скопіювати графік на інший аркуш?
CharlieRB

2
@RyanHubbard: Ви б не хотіли розмістити своє рішення як окрему відповідь, а не в тілі питань? (див. цю статтю довідкової сторінки ). Дякую!
nc4pk

Відповіді:


2

Я зрозумів, як це зробити. Замість використання коду VBA для перетворення вибраного діапазону в HTML, я пішов альтернативним маршрутом, використовуючи формули та один єдиний код VBA.

Перше, що я зробив, це зробити a Sheet5, потім я взяв необроблені HTML-дані з таблиці, яку я намагався реплікувати (відображення рядків Desc!1:16до стовпців Sheet5!A:K) і розділив їх, вводячи перерви в код, якщо я ввів нову інформацію. Я взяв кожен шматок і вставив його A2:K2. Потім я взяв інформацію, яку я вручну змінюю, і пов’язав її зі своєю книгою A4:K4. (Вони використовують посилання на клітинки моєї сторінки журналу, які змінюються з кожним записом, який я роблю.)

У Cell L2я помістив формулу

=CONCATENATE(A2,A4,B2,B4,C2," ",C4,D2," ",D4,E2," ",E4,F2," ",F4,
                         G2," ",G4,H2," ",H4,I2," ",I4,J2," ",J4,K2)

(розрив рядка призначений лише для презентації). Це взяло кожен шматок сирого HTML та інформації з мого журналу та об'єднала його, показуючи повний код HTML. У комірці C11мого аркуша журналу я =Sheet5!$L$2показую HTML-дані на головній сторінці, щоб скопіювати та вставити значення.

Після цього я помітив, що Excel додасть подвійні лапки до всього, що вже було цитовано, а одиничні цитати до інших областей. Після деякого пошуку я знайшов код, який скопіював би значення вибраної комірки, щоб я міг вставити HTML-код без лапок. Ось макрос, який я використовував для цього:

Sub CopyCellContents()
    Range("C11").Select
    'create a reference in the VBE to Microsft Forms 2.0 Lib
    Dim objData As New DataObject
    Dim strTemp As String
    strTemp = ActiveCell.Value
    objData.SetText (strTemp)
    objData.PutInClipboard
End Sub

Я використовував Pearson Software Consulting (тобто Chip Pearson), використовуючи буфер обміну Windows In VBA для макросу.

У мене виникли проблеми із визначеними користувачем даними. Щоб вирішити це, мені довелося вийти з налагоджувача коду, знову відкрити модуль з макросом у ньому, перейти до "Інструменти" → "Посилання", а потім перейти та ввести FM20.DLL"Ім'я файлу:". Інакше я не зміг знайти «Microsoft Forms 2.0 Object Library» у доступних посиланнях.

Я призначив це кнопці поруч із коміркою C11, і тепер, коли натискаю на неї, код копіюється у мій буфер обміну без лапок. Це працює не так, як я спочатку планував, але результат - саме те, чого я хотів. Сподіваюся, що це допомагає деяким іншим.

Ось кілька знімків екрана того, що я досяг:

Тут мені знадобився код для кожного переліку.  Sheet5це необроблені дані, розбиті на клітини.

Ось готовий продукт, створений цими формулами. І є моя сторінка журналу з кнопкою. При натисканні він копіює код у вікні праворуч без лапок.


Я використовував сайт Chip Pearsons для макросу. cpearson.com/excel/Clipboard.aspx
Райан Хаббард
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.