
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
エクセルの表示形式を保ったまま、セルに値を代入するには?
Visual Basic(VBA)
-
VBAでセルの書式を変えずに文字列を置換する方法をご教示ください
Visual Basic(VBA)
-
-
4
エクセルの書式を保持したまま結合するVBA
Excel(エクセル)
-
5
EXCEL VBAで、セルの文字列の前後に文字を入力する方法は?
その他(Microsoft Office)
-
6
マクロでExcelのセルに任意の文字列を追加するには?
Excel(エクセル)
-
7
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
8
EXCEL VBA 文中の書式ごと複写するには
Visual Basic(VBA)
-
9
VBAでシート書式の自動変換を作動させない方法
Excel(エクセル)
-
10
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
11
Excel VBA : 文字列の属性も含めて結合する方法
Excel(エクセル)
-
12
Excel VBA セル内に設定されたテキストを書式ごとコピー(複数セル)
Excel(エクセル)
-
13
VBAで文字を反映させると255文字の制限になってしまいます。
Visual Basic(VBA)
-
14
ExcelVBAで選択したセルに頭に文字を追加するマクロ
Excel(エクセル)
-
15
VBAのFind関数で結合セルを検索するとヒットしない
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストボックス内の文字のふ...
-
日付が1年以内になると他のセル...
-
Excelで数値→文字列変換で指数...
-
Excelの関数について、特定の文...
-
excel 表計算 加算するセルが空...
-
エクセル 入力中に表示されな...
-
エクセルで入力数字に自動的に,...
-
エクセルで条件付き書式を使わ...
-
VBA 書式設定を保持したままセ...
-
エクセルで縦書きのかっこ
-
「[$-411]ge,m,d」型 書式設定...
-
Excel2013でセルの書式が勝手に...
-
EXCELでCTRL+1が使えません。
-
Excelの入力規則のリストに上付...
-
エクセル初心者です これらの数...
-
EXCEL □(四角)の中に45を...
-
エクセルで、非表示になってい...
-
エクセルにおける、グラフの指...
-
エクセルでグラフタイトルが折...
-
大学生です。moodle上でのテス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで数値→文字列変換で指数...
-
Excelの関数について、特定の文...
-
テキストボックス内の文字のふ...
-
日付が1年以内になると他のセル...
-
数字がセルの左側に寄っていて...
-
エクセル 入力中に表示されな...
-
エクセル カタカナの文字を検...
-
エクセルで同じ値が連続してい...
-
エクセルで条件付き書式を使わ...
-
【Excel】貼り付けた画像がいつ...
-
excel 表計算 加算するセルが空...
-
Excelについて▶あるセルに文字...
-
エクセルで入力数字に自動的に,...
-
エクセル:セルのバックの色だ...
-
excelの16進数表示方法
-
Excel で金額の,で中央揃えす...
-
Excel 記入欄に網掛けして、文...
-
エクセルで入力欄を明確にしたい
-
EXCELでCTRL+1が使えません。
-
Excel2013でセルの書式が勝手に...
おすすめ情報