0

基本的に、Excelセルにテキストを入力すると、これが必要になります(中央に配置されます):

重量: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>

どんな助けにも感謝します!ありがとうございました!

4

3 に答える 3

1

他の2つの答えはどちらも非常に有効です。このソリューションは VBA を使用しません。SUBSTITUTEの複数のインスタンスを使用してテンプレートから新しいテキストを作成する点を除いて、John のものと似ています。

あなたの値が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>
于 2013-09-24T19:30:07.040 に答える
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 を使用して最初のセルに値を入力すると、その下に結果が表示されます。

于 2013-09-24T19:23:47.893 に答える