Vba 用斜体打印字符串

Vba 用斜体打印字符串,vba,excel,ms-word,Vba,Excel,Ms Word,我从Userform将输入作为字符串,并需要在单元格中输出它们。在输出中,所有字符串都是串联的,但只有少数字符串是斜体的。我无法输出斜体的字符串。我尝试过搜索文档、stack exchange和其他几个博客,但它们都需要从单元格中进行选择,而不是操纵从Userform中获得的字符串。非常感谢您的帮助或指点 Private Sub Ok_Click() Dim emptyRow As Long Dim bookAuthor, bookTitle, loc, publish, yearBook, p

我从
Userform
将输入作为字符串,并需要在单元格中输出它们。在输出中,所有字符串都是串联的,但只有少数字符串是斜体的。我无法输出斜体的字符串。我尝试过搜索文档、stack exchange和其他几个博客,但它们都需要从单元格中进行选择,而不是操纵从
Userform
中获得的字符串。非常感谢您的帮助或指点

Private Sub Ok_Click()
Dim emptyRow As Long
Dim bookAuthor, bookTitle, loc, publish, yearBook, pageBook As String

'Make Sheet2 active
 Sheet2.Activate

'Determine emptyRow
emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1

'Format Information
bookAuthor = Author.Value + ". "
bookTitle = TitleOfBook.Value + ". " 'Needs to be Italicized
'bookTitle.Font.Italic 'Error: Object Required
'TitleOfBook.Font.Italic = True 'Italicizes in userform but not in cell
loc = Location.Value + ": "
publish = Publisher.Value + ", "
yearBook = Year.Value + ", "
pageBook = "pp. " + Pages.Value + ". "

'Transfer information
Cells(emptyRow, 1).Value = "[" + CStr(emptyRow) + "] " + bookAuthor + bookTitle + loc + publish + yearBook + pageBook

Unload Me
End Sub'
现在输出:[1]右焊机。如何焊接。焊接车间:出版商,2014年,第25-32页

Private Sub Ok_Click()
Dim emptyRow As Long
Dim bookAuthor, bookTitle, loc, publish, yearBook, pageBook As String

'Make Sheet2 active
 Sheet2.Activate

'Determine emptyRow
emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1

'Format Information
bookAuthor = Author.Value + ". "
bookTitle = TitleOfBook.Value + ". " 'Needs to be Italicized
'bookTitle.Font.Italic 'Error: Object Required
'TitleOfBook.Font.Italic = True 'Italicizes in userform but not in cell
loc = Location.Value + ": "
publish = Publisher.Value + ", "
yearBook = Year.Value + ", "
pageBook = "pp. " + Pages.Value + ". "

'Transfer information
Cells(emptyRow, 1).Value = "[" + CStr(emptyRow) + "] " + bookAuthor + bookTitle + loc + publish + yearBook + pageBook

Unload Me
End Sub'
所需输出:[1]右焊机。如何焊接。焊接车间:出版商,2014年,第25-32页

Private Sub Ok_Click()
Dim emptyRow As Long
Dim bookAuthor, bookTitle, loc, publish, yearBook, pageBook As String

'Make Sheet2 active
 Sheet2.Activate

'Determine emptyRow
emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1

'Format Information
bookAuthor = Author.Value + ". "
bookTitle = TitleOfBook.Value + ". " 'Needs to be Italicized
'bookTitle.Font.Italic 'Error: Object Required
'TitleOfBook.Font.Italic = True 'Italicizes in userform but not in cell
loc = Location.Value + ": "
publish = Publisher.Value + ", "
yearBook = Year.Value + ", "
pageBook = "pp. " + Pages.Value + ". "

'Transfer information
Cells(emptyRow, 1).Value = "[" + CStr(emptyRow) + "] " + bookAuthor + bookTitle + loc + publish + yearBook + pageBook

Unload Me
End Sub'

将您写入的单元格的字体样式设置为斜体单元格,而不是字符串

Private Sub Ok_Click()
Dim emptyRow As Long
Dim bookAuthor, bookTitle, loc, publish, yearBook, pageBook As String

'Make Sheet2 active
 Sheet2.Activate

'Determine emptyRow
emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1

'Format Information
bookAuthor = Author.Value + ". "
bookTitle = TitleOfBook.Value + ". " 'Needs to be Italicized
'bookTitle.Font.Italic 'Error: Object Required
'TitleOfBook.Font.Italic = True 'Italicizes in userform but not in cell
loc = Location.Value + ": "
publish = Publisher.Value + ", "
yearBook = Year.Value + ", "
pageBook = "pp. " + Pages.Value + ". "

'Transfer information
Cells(emptyRow, 1).Value = "[" + CStr(emptyRow) + "] " + bookAuthor + bookTitle + loc + publish + yearBook + pageBook

Unload Me
End Sub'
With Range("A1")
    .Font.Italic = True
    .Value = "Roast Beef"
End With
编辑;要将单元格的一部分斜体化,请按偏移量和长度选择其内容:

Private Sub Ok_Click()
Dim emptyRow As Long
Dim bookAuthor, bookTitle, loc, publish, yearBook, pageBook As String

'Make Sheet2 active
 Sheet2.Activate

'Determine emptyRow
emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1

'Format Information
bookAuthor = Author.Value + ". "
bookTitle = TitleOfBook.Value + ". " 'Needs to be Italicized
'bookTitle.Font.Italic 'Error: Object Required
'TitleOfBook.Font.Italic = True 'Italicizes in userform but not in cell
loc = Location.Value + ": "
publish = Publisher.Value + ", "
yearBook = Year.Value + ", "
pageBook = "pp. " + Pages.Value + ". "

'Transfer information
Cells(emptyRow, 1).Value = "[" + CStr(emptyRow) + "] " + bookAuthor + bookTitle + loc + publish + yearBook + pageBook

Unload Me
End Sub'
emptyRow = 1
bookAuthor = "R. Welder."
bookTitle = "How to weld"
loc = "Welding Shop"
publish = "Publisher"
yearBook = "2014"
pageBook = "pp25-32"

Dim temp As String, begin As Long
'// store everything upto the start of italic part
temp = "[" & emptyRow & "] " & bookAuthor & " "
'// store its length
begin = Len(temp)

With Range("A1")
    '// set the value to everything
    .Value = temp & bookTitle & " " & loc & " " & publish & " " & yearBook & " " & pageBook
    '// we know where the italic text need to be
    .Characters(begin + 1, Len(bookTitle)).Font.Italic = True
End With

将您写入的单元格的字体样式设置为斜体单元格,而不是字符串

Private Sub Ok_Click()
Dim emptyRow As Long
Dim bookAuthor, bookTitle, loc, publish, yearBook, pageBook As String

'Make Sheet2 active
 Sheet2.Activate

'Determine emptyRow
emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1

'Format Information
bookAuthor = Author.Value + ". "
bookTitle = TitleOfBook.Value + ". " 'Needs to be Italicized
'bookTitle.Font.Italic 'Error: Object Required
'TitleOfBook.Font.Italic = True 'Italicizes in userform but not in cell
loc = Location.Value + ": "
publish = Publisher.Value + ", "
yearBook = Year.Value + ", "
pageBook = "pp. " + Pages.Value + ". "

'Transfer information
Cells(emptyRow, 1).Value = "[" + CStr(emptyRow) + "] " + bookAuthor + bookTitle + loc + publish + yearBook + pageBook

Unload Me
End Sub'
With Range("A1")
    .Font.Italic = True
    .Value = "Roast Beef"
End With
编辑;要将单元格的一部分斜体化,请按偏移量和长度选择其内容:

Private Sub Ok_Click()
Dim emptyRow As Long
Dim bookAuthor, bookTitle, loc, publish, yearBook, pageBook As String

'Make Sheet2 active
 Sheet2.Activate

'Determine emptyRow
emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1

'Format Information
bookAuthor = Author.Value + ". "
bookTitle = TitleOfBook.Value + ". " 'Needs to be Italicized
'bookTitle.Font.Italic 'Error: Object Required
'TitleOfBook.Font.Italic = True 'Italicizes in userform but not in cell
loc = Location.Value + ": "
publish = Publisher.Value + ", "
yearBook = Year.Value + ", "
pageBook = "pp. " + Pages.Value + ". "

'Transfer information
Cells(emptyRow, 1).Value = "[" + CStr(emptyRow) + "] " + bookAuthor + bookTitle + loc + publish + yearBook + pageBook

Unload Me
End Sub'
emptyRow = 1
bookAuthor = "R. Welder."
bookTitle = "How to weld"
loc = "Welding Shop"
publish = "Publisher"
yearBook = "2014"
pageBook = "pp25-32"

Dim temp As String, begin As Long
'// store everything upto the start of italic part
temp = "[" & emptyRow & "] " & bookAuthor & " "
'// store its length
begin = Len(temp)

With Range("A1")
    '// set the value to everything
    .Value = temp & bookTitle & " " & loc & " " & publish & " " & yearBook & " " & pageBook
    '// we know where the italic text need to be
    .Characters(begin + 1, Len(bookTitle)).Font.Italic = True
End With

将您写入的单元格的字体样式设置为斜体单元格,而不是字符串

Private Sub Ok_Click()
Dim emptyRow As Long
Dim bookAuthor, bookTitle, loc, publish, yearBook, pageBook As String

'Make Sheet2 active
 Sheet2.Activate

'Determine emptyRow
emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1

'Format Information
bookAuthor = Author.Value + ". "
bookTitle = TitleOfBook.Value + ". " 'Needs to be Italicized
'bookTitle.Font.Italic 'Error: Object Required
'TitleOfBook.Font.Italic = True 'Italicizes in userform but not in cell
loc = Location.Value + ": "
publish = Publisher.Value + ", "
yearBook = Year.Value + ", "
pageBook = "pp. " + Pages.Value + ". "

'Transfer information
Cells(emptyRow, 1).Value = "[" + CStr(emptyRow) + "] " + bookAuthor + bookTitle + loc + publish + yearBook + pageBook

Unload Me
End Sub'
With Range("A1")
    .Font.Italic = True
    .Value = "Roast Beef"
End With
编辑;要将单元格的一部分斜体化,请按偏移量和长度选择其内容:

Private Sub Ok_Click()
Dim emptyRow As Long
Dim bookAuthor, bookTitle, loc, publish, yearBook, pageBook As String

'Make Sheet2 active
 Sheet2.Activate

'Determine emptyRow
emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1

'Format Information
bookAuthor = Author.Value + ". "
bookTitle = TitleOfBook.Value + ". " 'Needs to be Italicized
'bookTitle.Font.Italic 'Error: Object Required
'TitleOfBook.Font.Italic = True 'Italicizes in userform but not in cell
loc = Location.Value + ": "
publish = Publisher.Value + ", "
yearBook = Year.Value + ", "
pageBook = "pp. " + Pages.Value + ". "

'Transfer information
Cells(emptyRow, 1).Value = "[" + CStr(emptyRow) + "] " + bookAuthor + bookTitle + loc + publish + yearBook + pageBook

Unload Me
End Sub'
emptyRow = 1
bookAuthor = "R. Welder."
bookTitle = "How to weld"
loc = "Welding Shop"
publish = "Publisher"
yearBook = "2014"
pageBook = "pp25-32"

Dim temp As String, begin As Long
'// store everything upto the start of italic part
temp = "[" & emptyRow & "] " & bookAuthor & " "
'// store its length
begin = Len(temp)

With Range("A1")
    '// set the value to everything
    .Value = temp & bookTitle & " " & loc & " " & publish & " " & yearBook & " " & pageBook
    '// we know where the italic text need to be
    .Characters(begin + 1, Len(bookTitle)).Font.Italic = True
End With

将您写入的单元格的字体样式设置为斜体单元格,而不是字符串

Private Sub Ok_Click()
Dim emptyRow As Long
Dim bookAuthor, bookTitle, loc, publish, yearBook, pageBook As String

'Make Sheet2 active
 Sheet2.Activate

'Determine emptyRow
emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1

'Format Information
bookAuthor = Author.Value + ". "
bookTitle = TitleOfBook.Value + ". " 'Needs to be Italicized
'bookTitle.Font.Italic 'Error: Object Required
'TitleOfBook.Font.Italic = True 'Italicizes in userform but not in cell
loc = Location.Value + ": "
publish = Publisher.Value + ", "
yearBook = Year.Value + ", "
pageBook = "pp. " + Pages.Value + ". "

'Transfer information
Cells(emptyRow, 1).Value = "[" + CStr(emptyRow) + "] " + bookAuthor + bookTitle + loc + publish + yearBook + pageBook

Unload Me
End Sub'
With Range("A1")
    .Font.Italic = True
    .Value = "Roast Beef"
End With
编辑;要将单元格的一部分斜体化,请按偏移量和长度选择其内容:

Private Sub Ok_Click()
Dim emptyRow As Long
Dim bookAuthor, bookTitle, loc, publish, yearBook, pageBook As String

'Make Sheet2 active
 Sheet2.Activate

'Determine emptyRow
emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1

'Format Information
bookAuthor = Author.Value + ". "
bookTitle = TitleOfBook.Value + ". " 'Needs to be Italicized
'bookTitle.Font.Italic 'Error: Object Required
'TitleOfBook.Font.Italic = True 'Italicizes in userform but not in cell
loc = Location.Value + ": "
publish = Publisher.Value + ", "
yearBook = Year.Value + ", "
pageBook = "pp. " + Pages.Value + ". "

'Transfer information
Cells(emptyRow, 1).Value = "[" + CStr(emptyRow) + "] " + bookAuthor + bookTitle + loc + publish + yearBook + pageBook

Unload Me
End Sub'
emptyRow = 1
bookAuthor = "R. Welder."
bookTitle = "How to weld"
loc = "Welding Shop"
publish = "Publisher"
yearBook = "2014"
pageBook = "pp25-32"

Dim temp As String, begin As Long
'// store everything upto the start of italic part
temp = "[" & emptyRow & "] " & bookAuthor & " "
'// store its length
begin = Len(temp)

With Range("A1")
    '// set the value to everything
    .Value = temp & bookTitle & " " & loc & " " & publish & " " & yearBook & " " & pageBook
    '// we know where the italic text need to be
    .Characters(begin + 1, Len(bookTitle)).Font.Italic = True
End With


请发布您的代码…“我有一个错误”不是一个有用的问题描述。你知道那个错误是什么,因为它就在你面前。绝对没有理由不把它包括在你的问题中。您对
Font.Italic
使用的代码是什么?您会遇到什么具体错误?我们无法为您调试问题中未包含的代码。请注意您的代码:行
Dim bookAuthor、bookTitle、loc、publish、yearBook、pageBook As String
将只声明
pageBook
为String,所有其他变量将为
Variant
。始终是最后一个字吗?什么规则决定了你想要什么样的斜体字?谢谢MP24!我没有意识到这一点。请发布您的代码…“我遇到错误”不是一个有用的问题描述。你知道那个错误是什么,因为它就在你面前。绝对没有理由不把它包括在你的问题中。您对
Font.Italic
使用的代码是什么?您会遇到什么具体错误?我们无法为您调试问题中未包含的代码。请注意您的代码:行
Dim bookAuthor、bookTitle、loc、publish、yearBook、pageBook As String
将只声明
pageBook
为String,所有其他变量将为
Variant
。始终是最后一个字吗?什么规则决定了你想要什么样的斜体字?谢谢MP24!我没有意识到这一点。请发布您的代码…“我遇到错误”不是一个有用的问题描述。你知道那个错误是什么,因为它就在你面前。绝对没有理由不把它包括在你的问题中。您对
Font.Italic
使用的代码是什么?您会遇到什么具体错误?我们无法为您调试问题中未包含的代码。请注意您的代码:行
Dim bookAuthor、bookTitle、loc、publish、yearBook、pageBook As String
将只声明
pageBook
为String,所有其他变量将为
Variant
。始终是最后一个字吗?什么规则决定了你想要什么样的斜体字?谢谢MP24!我没有意识到这一点。请发布您的代码…“我遇到错误”不是一个有用的问题描述。你知道那个错误是什么,因为它就在你面前。绝对没有理由不把它包括在你的问题中。您对
Font.Italic
使用的代码是什么?您会遇到什么具体错误?我们无法为您调试问题中未包含的代码。请注意您的代码:行
Dim bookAuthor、bookTitle、loc、publish、yearBook、pageBook As String
将只声明
pageBook
为String,所有其他变量将为
Variant
。始终是最后一个字吗?什么规则决定了你想要什么样的斜体字?谢谢MP24!我不知道。嗨,亚历克斯,我只需要把牢房里的一部分字母斜体化。只说“烤牛肉”中的“牛肉”。亚历克斯,有一般的方法吗?假设两个字符串“烤”和“牛肉”可能会根据用户的输入而变化。假设用户输入了“Unroasted”和“Ham”。我怎么能总是把第二根线(“火腿”、“牛肉”)斜体化?我可以使用计数器来计算字符串的长度,并使用上面显示的方法,但我想知道是否有更好的方法。我正在尝试输出6个字符串的串联,其中只有第二个字符串是斜体。每个字符串的长度可能因用户输入而异。嗨,Alex,我只需要将单元格中的一部分字母斜体化。只说“烤牛肉”中的“牛肉”。亚历克斯,有一般的方法吗?假设两个字符串“烤”和“牛肉”可能会根据用户的输入而变化。假设用户输入了“Unroasted”和“Ham”。我怎么能总是把第二根线(“火腿”、“牛肉”)斜体化?我可以使用计数器来计算字符串的长度,并使用上面显示的方法,但我想知道是否有更好的方法。我正在尝试输出6个字符串的串联,其中只有第二个字符串是斜体。每个字符串的长度可能因用户输入而异。嗨,Alex,我只需要将单元格中的一部分字母斜体化。只说“烤牛肉”中的“牛肉”。亚历克斯,有一般的方法吗?假设两个字符串“烤”和“牛肉”可能会根据用户的输入而变化。假设用户输入了“Unroasted”和“Ham”。我怎么能总是把第二根线(“火腿”、“牛肉”)斜体化?我可以帮你