我需要在Excel工作表中转换文本。如果单元格中间包含粗体文字,我需要在其周围添加HTML <strong>
标记。我需要这个,因为我想将文本插入数据库。
我收到了几张Excel表格,其中包含大量不同语言的翻译。虽然我使用这样的表来生成SQL语句,但这次因为需要保留的格式而不同。
我通常只是转换文本然后连接成SQL语句。但是这次我还需要一个宏/函数来为文本添加<strong>
标签:我不想手工完成,因为如果原始文本发生变化,我会手动重做修改。
答案 0 :(得分:1)
<强>答案强>
我在工作表中添加了一个新的宏函数。我为此创建了一个模块,并将该功能添加到模块中。这允许我在公式中间使用熟悉的Excel函数表示法来调用它。
Alt + F11
/ Mac上的Fn + Option + F11
)我想出了以下功能:
Function AddStrongTags(ByVal aCell As Range) As String
Dim result As String
Dim isBold As Boolean
isBold = False
For i = 1 To Len(aCell.Value)
If aCell.Characters(i, 1).Font.FontStyle = "Bold" Then
If isBold = False Then
result = result + "<strong>"
isBold = True
End If
Else
If isBold = True Then
result = result + "</strong>"
isBold = False
End If
End If
result = result + aCell.Characters(i, 1).Text
Next i
If isBold = True Then
result = result + "</strong>"
End If
AddStrongTags = result
End Function
例如,要在单元格A2上运行该函数,我将键入所需的单元格:
=AddStrongTags(A2)
这将生成没有粗体格式但添加了<strong>
标记的文本。
该函数返回一个字符串,因此可以用它连接到我的SQL语句中。例如,这是一个使用new函数创建SQL语句的简化示例,我将输入一个空单元格:
="INSERT INTO Foo ( lang, text ) VALUES ( 'en-GB', '" & AddStrongTags(A2) & "' )"