Я понял путь вокруг этого. Вместо того, чтобы использовать код vba для преобразования выбранного диапазона в html, я пошел альтернативным путем, используя формулы и один единственный код vba.
Первое, что я сделал, это сделать лист5, после чего я взял необработанные данные html из таблицы, которую я пытался реплицировать, и разделил ее на помехи в коде, я бы ввел новую информацию. Я взял каждый кусок и вставил его в A2-K2. Затем я взял информацию, которую я вручную изменил и связал с моей книгой в A4-K4. (Они используются ссылками на ячейки на моей странице журнала, которые изменяются с каждой записью я)
В ячейке 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`
У меня возникла проблема с данными, определенными пользователем. Чтобы решить эту проблему, мне пришлось выйти из отладчика кода, снова открыть модуль с помощью макроса, перейдите в Инструменты < Ссылки, затем просмотрите и введите FM20.DLL
в «Имя файла:». В противном случае я не смог найти библиотеку объектов Microsoft Forms 2.0 в доступных ссылках. Я использовал сайт Chip Pearsons для макроса. cpearson.com/excel/Clipboard.aspx
Я назначил это кнопке рядом с ячейкой C11, и теперь, когда я нажимаю ее, код копируется в мой буфер обмена без кавычек. Это не работает точно так, как я изначально планировал, но результат именно то, что я хотел. Спасибо за помощь, надеюсь, это поможет некоторым другим.
Вот несколько снимков экрана того, что я сделал.
Это был мне нужен код для каждого листинга. и Sheet5 - это сырые данные, разбитые на ячейки.
http://i.stack.imgur.com/ATT1q.png
Вот готовый продукт, созданный этими формулами. И есть страница журнала с кнопкой. При щелчке он копирует код в поле справа без кавычек. http://i.stack.imgur.com/jh34N.png
Весь лист распространение мастер часть шахты, которая постоянно растет с различными формулами, макросы, коды и т.д. ...
Я уверен, что это может быть сделано. У вас есть попытка кода? – Kyrubas
Например, есть следующее: http://www.codeproject.com/Articles/15316/Excel-to-HTML-Macro – Kyrubas
Вы можете выплюнуть его как простую таблицу или как скриншот, вы можете взять форматирование или макет по умолчанию.Если вы хотите динамически обновить, вы можете разработать соответствующую формулу в VBA. К сожалению, ваш набор инструментов вряд ли справится с задачей без VBA. – user3819867