0
VBAへの初心者の合計 - Excelスプレッドシートからのデータを含むHTMLテーブルを自動的に作成しようとしています。Excel VBAでのHTMLテーブルの作成
私は2列目から列I-Mにデータを持っています。 これは、1行から500行までの任意の位置に指定できます。
私はP17-26に静的ですが明らかに値が変化する別のデータを持っています。
私はこのスレッドで回答を見ていた: Dynamically create HTML table rows with VBA
Sub CreateAlternatorHtml()
Dim wb As Workbook
Dim ws As Worksheet
Dim coll As New Collection
Dim lngCounter As Long
Dim strBeforeRows As String
Dim strApplication As String
Dim strBetweenRows As String
Dim strSpecs As String
Dim strAfterRows As String
Dim strAll As String
' get a worksheet reference
Set wb = ActiveWorkbook
Set ws = Sheets("Copy From Here")
' test collection
coll.Add 3
' HTML before rows
strBeforeRows = "<style type=""text/css""> table.tableizer-table { border: 1px solid #CCC; font-family: Arial, Helvetica, sans-serif font-size: 12px;} .tableizer-table td { padding: 4px; margin: 3px; border: 1px solid #ccc;}.tableizer-table th { background-color: #104E8B; color: #FFF; font-weight: bold;}</style>" & _
"<table width=""100%"" class=""tableizer-table"">" & _
"<tr class=""tablezer-firstrow"">" & _
"<th><p>Make</p></th>" & _
"<th>Model</th>" & _
"<th>Series</th>" & _
"<th>Engine</th>" & _
"<th>Years (mm/yy)</th></tr>"
' iterate collection
strApplication = ""
For lngCounter = 1 To coll.Count
strApplication = strApplication & "<tr>"
strApplication = strApplication & "<td><div align=""center"">" & ws.Range("I" & coll(lngCounter)).Value & "</div></td>"
strApplication = strApplication & "<td><div align=""center"">" & ws.Range("J" & coll(lngCounter)).Value & "</div></td>"
strApplication = strApplication & "<td><div align=""center"">" & ws.Range("K" & coll(lngCounter)).Value & "</div></td>"
strApplication = strApplication & "<td><div align=""center"">" & ws.Range("L" & coll(lngCounter)).Value & "</div></td>"
strApplication = strApplication & "<td><div align=""center"">" & ws.Range("M" & coll(lngCounter)).Value & "</div></td>"
strApplication = strApplication & "</tr>"
Next lngCounter
' HTML between rows
strBetweenRows = "<tr>" & _
"<td> </td>" & _
"<td> </td>" & _
"<td> </td>" & _
"<td> </td>" & _
"<td> </td>" & _
"</tr>" & _
"<tr>" & _
"<th colspan=""2"" class=""tableizer-firstrow"">Specifications</th>" & _
"<td> </td>" & _
"<td> </td>" & _
"<td> </td></tr> <tr>"
' Specs HTML
strSpecs = ""
strSpecs = strSpecs & "<tr><td>Volts</td><td align=""right"" width=""120""><div align=""center"">" & ws.Range("P17").Value & "</div></td><td> </td><td> </td><td> </td></tr><tr>"
strSpecs = strSpecs & "<tr><td>Amps</td><td align=""right"" width=""120""><div align=""center"">" & ws.Range("P18").Value & "</div></td><td> </td><td> </td><td> </td></tr><tr>"
strSpecs = strSpecs & "<tr><td>Adjustment Hole (mm)</td><td align=""right"" width=""120""><div align=""center"">" & ws.Range("P19").Value & "</div></td><td> </td><td> </td><td> </td></tr><tr>"
strSpecs = strSpecs & "<tr><td>Pivot Hole (mm)<</td><td align=""right"" width=""120""><div align=""center"">" & ws.Range("P20").Value & "</div></td><td> </td><td> </td><td> </td></tr><tr>"
strSpecs = strSpecs & "<tr><td>Adjustment to Pivot (mm)</td><td align=""right"" width=""120""><div align=""center"">" & ws.Range("P20").Value & "</div></td><td> </td><td> </td><td> </td></tr><tr>"
strSpecs = strSpecs & "<tr><td>Pivot Length (mm)</td><td align=""right"" width=""120""><div align=""center"">" & ws.Range("P22").Value & "</div></td><td> </td><td> </td><td> </td></tr><tr>"
strSpecs = strSpecs & "<tr><td>Inside Feet To Feet (mm)</td><td align=""right"" width=""120""><div align=""center"">" & ws.Range("P23").Value & "</div></td><td> </td><td> </td><td> </td></tr><tr>"
strSpecs = strSpecs & "<tr><td>Pulley (mm)</td><td align=""right"" width=""120""><div align=""center"">" & ws.Range("P24").Value & "</div></td><td> </td><td> </td><td> </td></tr><tr>"
strSpecs = strSpecs & "<tr><td>No Of Grooves</td><td align=""right"" width=""120""><div align=""center"">" & ws.Range("P25").Value & "</div></td><td> </td><td> </td><td> </td></tr><tr>"
strSpecs = strSpecs & "<tr><td>Plug</td><td align=""right"" width=""120""><div align=""center"">" & ws.Range("P26").Value & "</div></td><td> </td><td> </td><td> </td></tr><tr>"
' HTML after rows
strAfterRows = "</tr></table>"
' final HTML - concatenate the 3 string variables
strAll = strBeforeRows & strApplication & strBetweenRows & strSpecs & strAfterRows
Debug.Print strAll
End Sub
これは私がこれまで持っているものであり、それは、このHTMLを生成するが、どのように私は行を通してループにそれを得るのですかIM
<style type="text/css">
table.tableizer-table { border: 1px solid #CCC; font-family: Arial, Helvetica, sans-serif font-size: 12px;}
.tableizer-table td { padding: 4px; margin: 3px; border: 1px solid #ccc;}
.tableizer-table th { background-color: #104E8B; color: #FFF; font-weight: bold;}
</style>
<table width="100%" class="tableizer-table">
<tr class="tablezer-firstrow">
<th>
<p>Make</p>
</th>
<th>Model</th>
<th>Series</th>
<th>Engine</th>
<th>Years (mm/yy)</th>
</tr>
<tr>
<td>
<div align="center">Ford</div>
</td>
<td>
<div align="center">Focus</div>
</td>
<td>
<div align="center">LR</div>
</td>
<td>
<div align="center">2.0L 4cyl Petrol - EDD#</div>
</td>
<td>
<div align="center">06/02 - 04/05</div>
</td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<th colspan="2" class="tableizer-firstrow">Specifications</th>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<tr>
<td>Volts</td>
<td align="right" width="120">
<div align="center">12</div>
</td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<tr>
<td>Amps</td>
<td align="right" width="120">
<div align="center">90</div>
</td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<tr>
<td>Adjustment Hole (mm)</td>
<td align="right" width="120">
<div align="center">8</div>
</td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<tr>
<td>Pivot Hole (mm)<</td>
<td align="right" width="120">
<div align="center">8</div>
</td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<tr>
<td>Adjustment to Pivot (mm)</td>
<td align="right" width="120">
<div align="center">8</div>
</td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<tr>
<td>Pivot Length (mm)</td>
<td align="right" width="120">
<div align="center"></div>
</td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<tr>
<td>Inside Feet To Feet (mm)</td>
<td align="right" width="120">
<div align="center">64</div>
</td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<tr>
<td>Pulley (mm)</td>
<td align="right" width="120">
<div align="center">53</div>
</td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<tr>
<td>No Of Grooves</td>
<td align="right" width="120">
<div align="center">6PV</div>
</td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<tr>
<td>Plug</td>
<td align="right" width="120">
<div align="center">RP222</div>
</td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr></tr>
</table>
私はそれが簡単にHTMLを作成するコードレビューのクラスを投稿:[Builderパターンを使用してHTMLを作成](https://codereview.stackexchange.com/questions/178814/creating-html -builder-patternを使用して) –