下記のような形でEXCEL2010でVBAを作成しオシェイプのテキストボックスのコメントを作成しています。
このテキストボックスに文字をコピーペーストして文字を追加したいのですがペーストされた文字色が白になってしまい、フォントサイズが大きくなって貼り付けされてしまいます。
毎回、ペースト後範囲指定して文字色・サイズ変更をしています。
できればペーストした文字色フォントサイズを最初から文字色黒、フォントサイズ9にしたいのですがどうしたらいいのでしょうかすいませんがお教えください。
' 「test」
Private Sub test()
'
'エラー時の処理
On Error GoTo ErrorHandler
'コメント表示
ActiveSheet.Shapes.AddShape(msoShapeRectangularCallout, Range(ActiveCell.Address).Left, Range(Cells(ActiveCell.Row + 1, ActiveCell.Column).Address).Top, 141, 114).Select
Selection.Characters.Text = "■●●●●●" & Chr(10) & "■●●●●●"
With Selection.Characters().Font
.Name = "MS Pゴシック"
.FontStyle = "標準"
.Size = 9
.ColorIndex = 1
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
Exit Sub
ErrorHandler:
MsgBox "■エラーが発生したため処理を終了しました。" & Chr(13) & "エラー" & Err.Number & Chr(13) & Err.Description
End Sub
No.2ベストアンサー
- 回答日時:
こんにちは
ANo1様と同じように、私も既定の書式を思い浮かべましたが、どうやらそうでもないようですね。
>このテキストボックスに文字をコピーペーストして~~
というのは手操作でのコピペと解釈しましたが、普通のテキストをコピペ(またはキー入力)する限りでは設定した書式は保たれています。
書式付のテキストをコピペした場合に、ご質問のような事象が見受けられ、その時に用いられる書式は既定の書式ではないようです。(私の環境では文字サイズが変わることはありませんでしたが・・・)
背景が濃い色の場合は白文字に、明るい色の場合は黒になるようです。
この現象は、VBAで作成した図形に限らす発生しますので、MS流に言えば「仕様です」ということになるのでしょうか。
これを避けるには、どうやら書式を外してペーストするくらいしかないようです。
具体的な方法としては、ペースト時のオプションとして「テキストのみ」にして貼り付ければ元の書式でペーストができます。
右クリックのメニューから「貼付けのオプション」-「テキストのみ」を選択するか、あるいは、リボンメニューの「クリップボード」-「貼り付け」-「貼付けのオプション」-「テキスト」を選択しても同様になります。
NO.2様質問にご回答いただきありがとうございました。
NO.1様の回答とNO.2様の回答でエクセルの仕様ということと対処方法がよくわかりました。
すごく私としては知識が増え助かりました。
本当にありがとうございました
この内容の対応は右クリックのメニューから「貼付けのオプション」-「テキストのみ」で対応したいと思います。
本当にありがとうございました。
No.1
- 回答日時:
質問文を見る限り文字のコピペというよりか、テキストを設定しているだけですよね。
追加したオートシェイプの既定の書式が使われるため仕方ない動作といったところでしょうか。
既定の書式を変更する方法がリンク先に書いてあります。
http://office-qa.com/Excel/ex150.htm
また、オートシェイプに設定するテキストの内容が都度違うのであれば、いっそのこと関数化しちゃうとか。
Sub MainProc()
On Error Goto ErrProc
Call CreateShape(xxxx, xxxx, xxxx, xxxx, "あいうえお")
ExitProc:
Exit Sub
ErrProc:
MsgBox Err.Description
End Sub
Sub CreateShape(aLeft As Single, aTop As Single, aWidth As Single, aHeight As Single, aText As String)
On Error Goto ErrProc
Dim s As Shape
Set s = ActiveSheet.Shapes.AddShape(msoShapeRectangularCallout, aLeft, aTop, aWidth, aHeight)
s.TextFrame.Characters.Text = aText
With s.TextFrame.Characters.Font
.Name = ・・・
・・・
・・・
End With
ExitProc:
Exit Sub
ErrProc:
Err.Raise 9999, , "■エラーが・・・"
End Sub
NO.1様質問にご回答いただきありがとうございました。
返事の記載が遅くなりすいません。
昨日、関数化のVBAは私の知識が足りずできませんでしたが、
「既定の書式を変更する方法」を実際にやってみましたができませんでした。
なぜこうなってしまうのかの理屈もわかっていなかったのですが
NO.1様の回答とNO.2様の回答でエクセルの仕様ということと対処方法がよくわかりました。
すごく私としては知識が増え助かりました。本当にありがとうございました
この問題の対応はNO.2様の回答の
右クリックのメニューから「貼付けのオプション」-「テキストのみ」で対応したいと思います。
回答いただきありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) VBAでファイルを開くプログラムがエラーです 2 2023/02/21 16:56
- Visual Basic(VBA) シートをコピーする下記記述でダイアログを用いた記述がわかりません?( A = Dir(ThisWor 4 2022/08/22 12:26
- Visual Basic(VBA) マクロで最終行を取得してコピーしたい 3 2022/04/06 19:07
- Excel(エクセル) エクセルマクロで教えてください 2 2022/05/04 09:07
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
入力規則のリストの文字の大き...
-
ペイント3Dのテキストサイズ変更
-
テーブル内の文字サイズを変更...
-
VBAでListViewのフォントを変更...
-
テキストエディタmiの表示文字...
-
maxlengthとsize
-
【DreamWeaver】「コード」画面...
-
LaTeXの文字の大きさの変え方。
-
セレクトボックス内のフォント位置
-
アンドロイドスマホでのphp ech...
-
半角カタカナを使うと、どうい...
-
コピーライト記号の表示が小さい
-
ASP VBscript でメッセージボッ...
-
”ヒラギノ明朝Pro”をWindowsで...
-
<pre>タグ内のフォントサイズに...
-
携帯サイトのMARQUEEタグで流し...
-
MACで勝手に改行されてしまいま...
-
セレクトボックスの幅を指定し...
-
<table></table>内のFONT指定に...
-
英サイト(UTF-8)内での全角文字...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
入力規則のリストの文字の大き...
-
テーブル内の文字サイズを変更...
-
ペイント3Dのテキストサイズ変更
-
alertで表示させる文字サイズは...
-
テキストエディタmiの表示文字...
-
VBAでListViewのフォントを変更...
-
エクセルで文字が勝手に大きく...
-
alertで、アイコンの変更、又は...
-
コピーライト記号の表示が小さい
-
英サイト(UTF-8)内での全角文字...
-
セレクトボックスの幅を指定し...
-
<pre>タグ内のフォントサイズに...
-
”ヒラギノ明朝Pro”をWindowsで...
-
MoveWindowで位置だけ変更する...
-
HTMLでHGPゴシックEを表現する...
-
パスワード欄の"●"文字を小さく...
-
アンドロイドスマホでのphp ech...
-
インラインフレーム内の文字の...
-
accessのレポートで文字間隔を...
-
奇数のフォントサイズ指定について
おすすめ情報