EXCEL2010で医療系マクロを作っています。
CheckBox1は、Selection.Offset(0, -1)のセル内の文字を取消線にする為のチェックボックスです。
TextBox11は、Selection.Offset(0, -1)のセル内の文字の下に追記する為のテキストボックスです。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If CheckBox1 = True Then ' ' '取消線がある場合
Selection.Offset(0, -1).Characters(InStr(Selection.Offset(0, -1), vbLf), 1000).Font.Strikethrough = True
Selection.Offset(0, -1).Value = Selection.Offset(0, -1).Value + vbLf + TextBox11.Value ' ' '☆追記して改行以降を取消し追記を解除
Else ' ' '取消線がない場合
Selection.Offset(0, -1).Value = Selection.Offset(0, -1).Value + vbLf + TextBox11.Value ' ' '☆追記
End If
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
この場合、Selection.Offset(0, -1)の文字にすでに取消線が設定されている場合にそれが外れたり、元々ついていなかったのについたりします。
書式設定を保持したままセル内の文字を追記することは可能でしょうか?
何卒ご教示のほどよろしくお願いします。
No.1ベストアンサー
- 回答日時:
Excel2007でしか試していませんが、
次のようにすると元々入っていたテキストの書式設定を維持して
テキストを追加できるようです。
追加したテキストの書式は、元のテキストの末尾の書式と同じになります。
'-------------------------------------------------------------------
Sub sample()
Dim srcLen As Integer '元の文字列の長さ
Dim tgtCell As Range '対象セル
Set tgtCell = Selection.Offset(0, -1)
srcLen = Len(tgtCell.FormulaR1C1)
tgtCell.Characters(srcLen + 1).Insert (vbLf & "あああ") '末尾にテキストを追加
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 並べ替え、ソートの構文がわからない。 お世話になります。VBA超初心者です。 エクセルでワークシート 2 2023/06/28 21:00
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Excel(エクセル) 【VBA】A列にある連続したデータの1番下に文字列を入力したい 1 2023/01/28 04:40
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Visual Basic(VBA) いつもお世話になります 下記のコード実行すると エラーになります わかるかた教えてくれませんでしょう 6 2022/12/17 15:01
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Excel(エクセル) エクセルで最下行にデータを追加するVBA 6 2023/05/09 09:30
- Excel(エクセル) エクセルでの左のセルのコピー 3 2022/07/25 12:31
- Visual Basic(VBA) VBA 重複チェック後に値をワークシートに転記する方法を教えてください。 1 2023/03/19 12:43
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
エクセルの表示形式を保ったまま、セルに値を代入するには?
Visual Basic(VBA)
-
EXCEL VBAで、セルの文字列の前後に文字を入力する方法は?
その他(Microsoft Office)
-
-
4
Excel VBA : 文字列の属性も含めて結合する方法
Excel(エクセル)
-
5
EXCEL VBA 文中の書式ごと複写するには
Visual Basic(VBA)
-
6
Excelのセルにユーザー名を表示する方法
Excel(エクセル)
-
7
VBAでシート書式の自動変換を作動させない方法
Excel(エクセル)
-
8
Excel2000/VBA:値と書式のみ貼り付けたい。
Excel(エクセル)
-
9
マクロでExcelのセルに任意の文字列を追加するには?
Excel(エクセル)
-
10
エクセルへのデータの貼付時に書式が反映されない!
Visual Basic(VBA)
-
11
VBA 数値を文字列として貼付したい
Excel(エクセル)
-
12
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
13
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
14
VBAでセルデータの転記(文字列)
Excel(エクセル)
-
15
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
16
別のシートから値を取得するとき
Visual Basic(VBA)
-
17
VBAでユーザーフォームの表示を確認
Visual Basic(VBA)
-
18
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
19
ExcelVBAで選択したセルに頭に文字を追加するマクロ
Excel(エクセル)
-
20
エクセルマクロ 赤色の文字を検索するについて
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで数値→文字列変換で指数...
-
テキストボックス内の文字のふ...
-
Excelの関数について、特定の文...
-
エクセル 入力中に表示されな...
-
日付が1年以内になると他のセル...
-
数字がセルの左側に寄っていて...
-
【Excel】貼り付けた画像がいつ...
-
エクセル カタカナの文字を検...
-
条件付き書式で範囲外だったら...
-
エクセルで平均時間の表示の仕方
-
エクセルで同じ値が連続してい...
-
エクセルで縦書きのかっこ
-
Excelについて▶あるセルに文字...
-
エクセルで書式設定だけを固定...
-
エクセル「一度設定した列幅を...
-
Excelの入力規則のリストに上付...
-
エクセル 入力規則 貼付して...
-
常に参照もとのセルの書式に従...
-
Excelの単一セルから結合セルへ...
-
Ecxelで少数を入力するときにフ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで数値→文字列変換で指数...
-
テキストボックス内の文字のふ...
-
Excelの関数について、特定の文...
-
日付が1年以内になると他のセル...
-
エクセル 入力中に表示されな...
-
数字がセルの左側に寄っていて...
-
【Excel】貼り付けた画像がいつ...
-
条件付き書式で範囲外だったら...
-
エクセル カタカナの文字を検...
-
エクセルで条件付き書式を使わ...
-
エクセルで同じ値が連続してい...
-
エクセル:セルのバックの色だ...
-
Excelについて▶あるセルに文字...
-
エクセルで平均時間の表示の仕方
-
エクセルで縦書きのかっこ
-
エクセルで入力数字に自動的に,...
-
エクセルでふりがなごとリンク...
-
エクセルで書式設定だけを固定...
-
excel 表計算 加算するセルが空...
-
エクセル「一度設定した列幅を...
おすすめ情報