我是vba的新手。
我在每个单元格中都有一个文本。我需要将html段落(< p >
和< /p >
)标记添加到每个单元格中。此coloumn中的行数会有所不同,因此我需要一个vba代码,可以将这些标记添加到所有单元格中,无论其中的文本或单元格数量如何。
我尝试uptil现在需要我记录一个宏,我手动将标签附加到每个单元格,然后运行此宏。
但是当coloumn中添加了更多行时,这没有用。 如果有解决方案,请告诉我。
我得到的代码:
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
答案 0 :(得分:3)
为什么不用公式?
="<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
希望能给你一个起点!
答案 1 :(得分:2)
只需选择您的范围并运行此代码:)
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
答案 2 :(得分:0)
这将检查工作表中最后一个填充的行并循环显示它们,
将<p>
和</p>
添加到“ H ”列中的所有单元格。
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