2013-09-24 91 views
0

基本上當我在Excel單元格中輸入文本,我想這個(其將被居中):有沒有辦法在Excel中格式化文本爲HTML?

重量:10磅
長度:21"
寬度:14"

成爲本在另一個單元格:

<p align="center"><font size="2" face="Arial"></font><br></p><p align="center"><font size="2" face="Arial">Weight:10lbs<br></font><span style="font-family: Arial; font-size: small;">Length: 21"<br>Width: 14"&nbsp;</span></p>

我明白任何幫助!謝謝!

+0

您將需要VBA。你嘗試了什麼,你遇到了什麼問題? –

+0

您可以將它連接在一起......我用這種方法創建了一些SQL語句...... – ppeterka

回答

1

什麼:

Cell A1: <p align="center"><font size="2" face="Arial"></font><br></p><p align="center"><font size="2" face="Arial"> 

Cell B1: Weight:10lbs 

Cell C1: <br></font><span style="font-family: Arial; font-size: small;"> 

Cell D1: Length: 21" 

Cell E1: <br> 

Cell F1: Width: 14" 

Cell G1: &nbsp;</span></p> 

你想要的結果是

Cell H1: =A1&B1&C1&D1&E1&F1&G1 

重新排列列,無論是方便,拔出字段名,只是使用的測量等..同樣的想法。

如果你已經在一個單元格的所有三個字段,那麼你可以將它們分割到列足夠容易:

  • 如果你的數據在A1,將=SUBSTITUTE(A1, CHAR(10), "|")獲得通過垂直線分離的數據在B1。
  • 將B1按值粘貼到C1中。
  • 使用Text to Columns工具將C1中的字段分隔爲C1和相鄰列,並使用|作爲分隔符。
+0

我曾經這樣做過事情,並且我發現如果您需要做大的更改,它可能會出現問題。無論如何,這是一個有效的解決方案。 –

0

您的要求是不明確的,這就是我:

Public Sub Change() 
Dim a As String 
a = Range("A1:A1") 
'MsgBox a 

Dim resultCell As Range 
Set resultCell = Range("A2:A2") 
Dim splitVals As Variant 
splitVals = Split(a, Chr(10)) 

resultCell.Value = "<p align='center'><font size='2' face='Arial'></font><br></p><p align='center'><font size='2' face='Arial'>" & splitVals(0) & "<br></font><span style='font-family: Arial; font-size: small;'>" & splitVals(1) & "<br>" & splitVals(2) & "&nbsp;</span></p>" 



End Sub 

把你的價值在第一個單元格與Alt + Enter鍵爲新的生產線,你會得到低於你的結果。

1

其他兩個答案都非常有效。此解決方案不使用VBA。它與John的相似之處在於它使用SUBSTITUTE的多個實例從模板創建新文本。

假設您的值在A2-C2(這是任意的,並由您決定)。

在$模板A $ 1

<p><br></p> 
<p align="center"><font size="2" face="Arial"> 
    {0}<br></font><span style="font-size: small;">{1}<br>{2}" 
</span></p> 

結果文本

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE($A$1, "{0}", A2), "{1}", B2), "{2}", C2) 

在使用串聯,是可以從根本上改變項目顯示順序的方法的優點在模板中而不必改變產生結果的函數。

即使將您的模板更改爲下面的模板,也不需要更改使用substitute的相同功能,如果您的行數較少,這很方便。

<div>{2}<table><tr><td>{0}</td><td>{1}</tr></table></div> 
+0

更強大的做法。太好了! – John

相關問題