2016-07-11 12 views
1

Excelでuserformに問題があります。 userformには、値がコンボボックスの結果であるtextbox2があります。 その後、私はプロパティからtextbox2の書式フォントを変更しました。結果はtextbox2に正しいフォントが表示されますが、Ctrl + CでコピーしてExcelまたはOutlookのメールに貼り付けようとすると、カリブリ...なぜこれが起こるの?私もコードを貼り付ける自動copytoclipboardでtryed。テキストボックスからテキストをコピーして貼り付けるとフォントが変わる

Dim clipboard As MSForms.DataObject 
Set clipboard = New MSForms.DataObject 
clipboard.SetText Me.TextBox2.Text 
clipboard.PutInClipboard 

それの作品、私はCTRL + Vを押すと、それは...それはフォントフォーマットを変更し、とにかく事前に

感謝をTextBox2を中に結果を貼り付けるために!

PS:フォントのフォーマットを維持しながらtextbox2から手作業でコピーできるソリューションを探していますが、不可能な場合はコードソリューションも問題ありません。どうもありがとう!セルが変更されるたび

+0

とにかく私はシートを持っていないので、セルはありません。私はこのユーザーフォームをuserformとしてのみ使用します。結果は他のユーザーのコピーになります。だから私は細胞で動作することはできませんまたはファイルをExcelします。 – Merlin38

答えて

0

あなたは混乱しています。

userformのテキストボックスにはFontプロパティがあります。このプロパティは手動またはコードで設定または読み取ることができます(Bennoの回答を参照)。

しかし、このフォント名はではなく、のテキストボックスに入力されています。テキストボックスには、プレーンテキストしか保存されていません。これは、コピーするときにすべて表示されます。

これを別のドキュメントに貼り付けると、そのドキュメントの既定または現在のフォント(通常はOfficeドキュメント用のCalibri)が使用されます。

何かをコピーした後、クリップボードにさまざまな形式を表示するFree Clipboard Viewerをダウンロードできます。プレーンテキスト(テキストエディタまたはテキストボックスから)または書式設定されたテキスト(WebページまたはWordから)をコピーするときは、これとはかなり異なります。

したがって、フォント情報をテキストボックスからコピーすることはできません。

+0

ああ、ありがとうございました!テキストボックスにできることは何もありません。 :) – Merlin38

0

あなたは

Range("A1").Font.Name = TextBox2.Font  'A1 is only an example 

(これはExcelの少なくとも動作するはずです)テキストボックスのフォントに細胞のフォントを設定することができます。また、あなたはこれを実行されるマクロを作成しようとすることができます(Workbook_ChangeLook here for more information.

+0

実際の問題は、私はシートを持っていないので、私はセルを持っていないということです。私はこのユーザーフォームをuserformとしてのみ使用します。結果は他のユーザーのコピーになります。だから私は細胞で動作することはできませんまたはファイルをExcelします。 – Merlin38

関連する問題