在标签中的所有单元格的文本中追加<p>和</ p>标签。 颜色中的单元格不断变化

我是vba新手。

我在每个单元格中都有文字。 我需要添加html段落( < p >< /p > )标签到每个这些单元格。 这个coloumn中的行数会有所不同,因此我需要一个可以将这些标签添加到所有单元格的vba代码,而不pipe它们中的文本或单元格的数量。

我现在尝试uptil要求我logging一个macros,我将标签手动添加到每个单元格,然后运行此macros。

但是当有更多的行添加到色彩时,这是没有用的。 请让我知道是否有解决scheme。

我得到的代码:

 Private Sub Test_parah_Click() Windows("rawdata_test.xlsm").Activate Range("H2").Select ActiveCell.FormulaR1C1 = _ "<p>Retail prices.</p>" Range("H3").Select ActiveCell.FormulaR1C1 = _ "<p>Data base platform.</p>" Range("H4").Select ActiveCell.FormulaR1C1 = _ "<p>Lisence permits.</p>" Range("H5").Select ActiveCell.FormulaR1C1 = _ "<p>Greenberg assessment.</p>" End Sub 

你为什么不使用一个公式?

 ="<p>"&A1&"</p>" 

或者如果你坚持在VBA中做这件事,你可以做这样的事情(跳过空白单元格,并使用rows.count使其灵活的各种版本的Excel)

 Sub AddParagraphMarkers() Dim cell As Range For Each cell In Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row) If Len(cell) <> 0 Then cell.Value = "<p>" & (cell.Value & "</p>") End If Next End Sub 

希望能给你一个出发点!

只要select你的范围,并运行此代码:)

 Sub Sample() Dim aCell As Range '~~> Check if what the user selected is a valid range If TypeName(Selection) <> "Range" Then MsgBox "Select a range first." Exit Sub End If For Each aCell In Selection If Len(Trim(aCell.Value)) <> 0 Then aCell.Value = "<p>" & aCell.Value & "</p>" Next End Sub 

这将检查工作表中最后一个填充的行,并循环遍历它们,向列“ H ”中的所有单元格添加<p></p>

 Sub Test_parah_Click() finalRow = ActiveSheet.UsedRange.Rows.Count For i = 1 To finalRow Cells(i, 8) = "<p>" & Cells(i, 8).Value & "</p>" Next i End Sub