Excel 如果我从文本框复制文本,那么当我粘贴它时,字体会改变

Excel 如果我从文本框复制文本,那么当我粘贴它时,字体会改变,excel,vba,fonts,Excel,Vba,Fonts,我对excel上的用户表单有问题。 在userform中,我有一个textbox2,它的值是某个组合框的结果。 然后,我从属性中更改了textbox2的格式字体,当我得到结果时,这就是工作textbox2显示正确的字体,但是如果我用CTRL+C复制它,并尝试粘贴到excel或outlook mail上,字体将以calibri。。。为什么会这样?我还尝试了自动复制剪贴板,我将粘贴代码 Dim clipboard As MSForms.DataObject Set clipboard = Ne

我对excel上的用户表单有问题。 在userform中,我有一个textbox2,它的值是某个组合框的结果。 然后,我从属性中更改了textbox2的格式字体,当我得到结果时,这就是工作textbox2显示正确的字体,但是如果我用CTRL+C复制它,并尝试粘贴到excel或outlook mail上,字体将以calibri。。。为什么会这样?我还尝试了自动复制剪贴板,我将粘贴代码

   Dim clipboard As MSForms.DataObject
Set clipboard = New MSForms.DataObject
clipboard.SetText Me.TextBox2.Text
clipboard.PutInClipboard
这是可行的,因为如果我按CTRL+V组合键,它会将结果粘贴到textbox2中,不管怎样,它都会更改字体格式

提前谢谢


PS:我更喜欢找到一个解决方案,允许我从textbox2手动复制,保持字体格式,但如果不可能,代码解决方案也可以。非常感谢

您可以将单元格的字体设置为文本框的字体(这至少适用于excel)


此外,您还可以尝试创建一个宏,每当单元格发生更改时运行该宏(
Workbook\u Change

您可以将单元格的字体设置为文本框的字体(这至少适用于excel)


此外,您还可以尝试创建一个宏,每当单元格发生更改时运行该宏(
Workbook\u Change

您会弄糊涂的

userform上的文本框有一个
Font
属性,您可以手动或使用代码设置/读取该属性(请参见Benno的答案)

但此字体名称不是输入该文本框的文本的一部分。文本框仅存储纯文本,这是从中复制时得到的全部内容

因此,当您将其粘贴到另一个文档中时,它将使用该文档的默认或当前字体(通常Calibri用于Office文档)

您可以下载该文件,在复制某些内容后,该文件将显示剪贴板中的各种格式。当复制纯文本(从文本编辑器或文本框)或格式化文本(从网页或Word)时,情况就大不相同了


因此:无法从文本框复制字体信息

你把事情弄糊涂了

userform上的文本框有一个
Font
属性,您可以手动或使用代码设置/读取该属性(请参见Benno的答案)

但此字体名称不是输入该文本框的文本的一部分。文本框仅存储纯文本,这是从中复制时得到的全部内容

因此,当您将其粘贴到另一个文档中时,它将使用该文档的默认或当前字体(通常Calibri用于Office文档)

您可以下载该文件,在复制某些内容后,该文件将显示剪贴板中的各种格式。当复制纯文本(从文本编辑器或文本框)或格式化文本(从网页或Word)时,情况就大不相同了


因此:无法从文本框复制字体信息

真正的问题是我没有手机。。因为我没有床单。我仅将此userform用作userform,结果将复制到其他excel文件中。所以我不能在单元格或excel文件中操作。真正的问题是我没有单元格。。因为我没有床单。我仅将此userform用作userform,结果将复制到其他excel文件中。所以我不能在单元格或excel文件中操作。反正我没有单元格。。因为我没有床单。我仅将此userform用作userform,结果将复制到其他excel文件中。所以我不能在单元格或excel文件中操作。反正我没有单元格。。因为我没有床单。我仅将此userform用作userform,结果将复制到其他excel文件中。所以我不能在单元格或excel文件中操作。哦,非常感谢您的解释!因此,在文本框上我无能为力。:)哦,非常感谢你的解释!因此,在文本框上我无能为力。:)
Range("A1").Font.Name = TextBox2.Font       'A1 is only an example