【发布时间】:2016-03-16 17:19:13
【问题描述】:
我编写了计算 if-then 条件值然后出现在消息框中的代码。如何将消息框导出到 MS Word?有没有可以导出到 MS Word 的函数,而不是 Msgbox?我可以将它从 Debug.print 转换成 word 吗?
Sub Way_EatFresh()
Dim ws As Worksheet, wsB As Worksheet
Set ws = Worksheets("Overview")
Set wsB = Worksheets("Billing Rates")
Dim trueCount As Integer
Dim i As Integer
Dim Cst, Hrs
For i = 1 To 11
If ws.Range(Chr(65 + i) & "36").Value = "True" Then
trueCount = trueCount + 1
Cst = Cst + wsB.Range(Chr(66 + i) & "33").Value
Hrs = Hrs + wsB.Range(Chr(66 + i) & "25").Value
Scope = Scope + wsB.Range(Chr(66 + i) & "150").Value
End If
If ws.Range(Chr(65 + i) & "37").Value = "True" Then
trueCount = trueCount + 1
Cst = Cst + wsB.Range(Chr(66 + i) & "34").Value
Hrs = Hrs + wsB.Range(Chr(66 + i) & "26").Value
Scope = Scope + wsB.Range(Chr(66 + i) & "150").Value
End If
If ws.Range(Chr(65 + i) & "38").Value = "True" Then
trueCount = trueCount + 1
Cst = Cst + wsB.Range(Chr(66 + i) & "35").Value
Hrs = Hrs + wsB.Range(Chr(66 + i) & "27").Value
Scope = Scope + wsB.Range(Chr(66 + i) & "150").Value
End If
If ws.Range(Chr(65 + i) & "40").Value = "True" Then
trueCount = trueCount + 1
Cst = Cst + wsB.Range(Chr(66 + i) & "49").Value
Hrs = Hrs + wsB.Range(Chr(66 + i) & "41").Value
Scope = Scope + wsB.Range(Chr(66 + i) & "150").Value
End If
If ws.Range(Chr(65 + i) & "41").Value = "True" Then
trueCount = trueCount + 1
Cst = Cst + wsB.Range(Chr(66 + i) & "50").Value
Hrs = Hrs + wsB.Range(Chr(66 + i) & "42").Value
Scope = Scope + wsB.Range(Chr(66 + i) & "150").Value
End If
If ws.Range(Chr(65 + i) & "42").Value = "True" Then
trueCount = trueCount + 1
Cst = Cst + wsB.Range(Chr(66 + i) & "51").Value
Hrs = Hrs + wsB.Range(Chr(66 + i) & "43").Value
Scope = Scope + wsB.Range(Chr(66 + i) & "150").Value
End If
Next i
If trueCount > 0 Then
MsgBox "Cost: " & Cst _
& vbNewLine & "Hours: " & Hrs _
& vbNewLine & "Scope: " & Scope _
End If
If trueCount = 0 Then
MsgBox "Please select engagement components."
End If
End Sub
【问题讨论】:
-
到 Word 中的哪个位置?新文件?现有文档?
-
新建一个word文档
-
虽然我肯定会满足于现有的文件
-
虽然无法“转换”您的消息框。您可以使用已有的变量(Cst、Hrs、Scope)写入新的 microsoft word 文档。只需写入此链接中所示的“WordDoc”变量:stackoverflow.com/questions/16418292/vba-open-word-from-excel
-
这样会不会把excel宏生成的信息导出到word?