No.5ベストアンサー
- 回答日時:
当方、エクセルマクロの初心者ですが、下手なマクロでよければ以下のようなマクロコードをコピペして見てください。
一応、テスト済みです。
Sub MacroTest()
Dim Astr, Bstr As String
Dim Row, Ls, St, Et As Integer
Row = 1 'スタート行
Do
Range("A" & Trim(Str(Row))).Select
Astr = ActiveCell
If Astr = "" Then Exit Do
Ls = Len(Astr)
St = InStr(Astr, "<u>") + 3
If St > 3 Then
Et = InStr(Astr, "</u>") - 1
Bstr = Left(Astr, St - 4)
Bstr = Bstr & Mid(Astr, St, Et - St + 1)
Bstr = Bstr & Right(Astr, Ls - Et - 4)
Range("B" & Trim(Str(Row))).Select
ActiveCell = Bstr
With ActiveCell.Characters(Start:=St - 3, Length:=Et - St + 1).Font
.FontStyle = "太字"
.Underline = xlUnderlineStyleSingle
End With
Else
Range("B" & Trim(Str(Row))) = Astr
End If
Row = Row + 1
Loop
End Sub
わかりやすいコードだと思いますので、適当にアレンジしてください。
ご要望の結果が得られれば幸いです。
No.4
- 回答日時:
> 誤解を招いているようで、申し訳ありません。
誤解してないと思いますが?
試しに、メモ帳に下記のように一度入力し、それをコピーしてから、
新規ブックにでもペーストしてみて下さい。
<u>Sample</u><b>TEXT</b>
メモ帳のテキストなのだから、書式のない単なるプレーンテキスト
のはずですよね? 従って、そのままセルにペーストされるはず。
<u>Sample</u><b>TEXT</b>
この通りです。
次に、<html>~</html>を補完して、
<html><u>Sample</u><b>TEXT</b></html>
としたものを同じようメモ帳に入力し、同じようにペーストして
みて下さい。
これも単なるプレーンテキストです。が、結果は、先ほどと違って、
表示が変わっていることに気がつくと思います。
#2 はこの Excel の特性を利用したコードです。別に Html ソース
を書きだすために書いたものではありません。Excel に Html を
解釈させ、Html として表示させるために書いたものです。
単純にセルのコピーではダメなんです。セルの内容に <html> の
おまじないを加え、クリップボードを経由させることで Excel に
書式を変更させる。。という手法です。
とりあえず、お試しを。
No.3
- 回答日時:
恐らく、HTMLエディタを0から作るぐらいの労力を費やせば可能かと思います。
入力されたら(セルの内容が変化したら)変化したセルの内容を取得して、タグの部分を検索して、当てはまるタグに対応する処理を実行し、表示用のセルに書き込む。
と言う手順になると思います。
この回答への補足
何回もありがとうございます。
下線と太文字だけですが、無理に近い話でしょうか?
また、セルの内容が変化したら、即、実施しようとも思っていません。
No.2
- 回答日時:
ロジックとしては、セルの内容の頭に<html>、末尾に</html> を付加した
文字列をコピーし、セルに貼り付ければ OK です。
VBA で全部やるならこんな感じ。
VBE の [ツール]-[参照設定] で [Microsoft Forms2.0 Object Library]
にチェックを入れ、標準モジュールに下記コードをコピペ。
A 列のセルを範囲選択して、マクロ実行です。
Sub SampleProc()
' // 要参照設定: Microsoft Forms2.0 Object Library
Dim D As DataObject
Dim r As Range
Dim sHtml As String
Set D = New DataObject
For Each r In Selection.Cells
sHtml = "<html>" & r.Text & "</html>"
D.SetText sHtml
D.PutInClipboard
r.Offset(0, 1).PasteSpecial
Next
Set D = Nothing
End Sub
この回答への補足
ご回答ありがとうございます。
入力された文字からhtmlのソースを作るのではなく、htmlのソースがエクセルに入力されていて、そのセルの隣にweb上で表示されるように、<u>と</u>の間の文字は下線を引くことをさせてたいと考えています。なお、処理させたいのは下線と太字のみです。
説明の仕方が悪く、誤解を招いているようで、申し訳ありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル、空白に下線について 回答お願いいたします。画像の¥10,000の後の空白にも下線を引きたい 2 2022/05/03 09:38
- Excel(エクセル) エクセルで、特定のセルの内容を更新すると、別の特定セルに 更新日付が自動的に表示させる方法はあります 1 2022/11/14 21:03
- Excel(エクセル) エクセル 関数 指定の繰り返しの回数 以降(以前)を削除するには、 2 2022/04/24 10:29
- Excel(エクセル) 条件付き書式の設定方法を教えて下さい。 2 2023/04/14 18:12
- Excel(エクセル) Excelの空文字判定について 7 2023/01/06 13:25
- その他(スマートフォン・携帯電話・VR) Google Keepで数字に勝手に下線が引かれるのですが??? 1 2022/09/24 11:09
- Excel(エクセル) エクセルについて教えてください。 一度入力した文字や数字を誤って削除や変更しないために、削除や変更を 3 2022/10/30 10:36
- Excel(エクセル) エクセルで特定の文字を打つと別シートに別の文字を反映させるようにしたいです。 例)Qと打つと別シート 2 2023/04/22 14:10
- Excel(エクセル) エクセル 関数について 2 2022/10/10 07:56
- Excel(エクセル) エクセルについての質問です A1に入力した数字をB1に入力した数字に+して C1に出した時に、B2に 4 2022/12/09 21:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel PHONETIC関数で振り仮名...
-
非表示部分はオートフィルのコ...
-
Excelで複数行ずつ連番をふる方...
-
エクセルのセル内の文字数によ...
-
エクセルで1行間隔でのオートフ...
-
エクセル2000です。左方向に(...
-
エクセルで曜日を連続入力した...
-
エクセルで番号をふりたいのですが
-
前日差の比較について
-
エクセルで別シートの同じ位置...
-
エクセルの下部のシートタブの...
-
メールアドレスの下線の入力方法
-
マウスのクリック、指離したの...
-
エクセルでセルの書式設定がで...
-
縦書き文章で『―』表示を『|』...
-
「丸印の中に三角のマークが上...
-
マウスのポインタが勝手に上下...
-
シート全体を他のブックのシー...
-
EXCELでコピーしたグラフのデー...
-
Word2007でTabキーを押すと改ペ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel PHONETIC関数で振り仮名...
-
エクセル2010 セルの結合...
-
非表示部分はオートフィルのコ...
-
エクセルで1行間隔でのオートフ...
-
Excelで複数行ずつ連番をふる方...
-
エクセルのセル内の文字数によ...
-
エクセルで曜日を連続入力した...
-
前日差の比較について
-
エクセル2000です。左方向に(...
-
シフト作成 IF関数を使用した休...
-
エクセルで四角「□」にチェック...
-
エクセルで縦の列を選択すると...
-
エクセルで英語の単語帳を作り...
-
筆王からエクセルに書き出した...
-
Excel 文字数での検索方法
-
エクセル入力で小文字iが大文...
-
エクセルでハイパーリンクを一...
-
エクセル2003 星取表作成
-
エクセルである条件の数字だけ...
-
excel2007 セルの中の数字の頭...
おすすめ情報