Excel VBA – string填充不起作用

我有一个VBA函数,它返回有关它正在运行的计算机的大量信息。 我想整齐地格式化输出,标题左alignment,结果全部标签在右边。

以下是我认为可以工作的内容,这是我咨询过的许多网站上的解决scheme:

AllInfo = _ "Date/Time Opened:" & Space(33 - Len("Date/Time Opened:")) & Now() & vbCrLf & _ "Filename:" & Space(33 - Len("Filename:")) & Application.ActiveWorkbook.Name & vbCrLf & _ "Name in Cell B2:" & Space(33 - Len("Name in Cell B2:")) & Cells(2, 2).Value & vbCrLf & _ 

但是,在消息框和电子邮件正文中的输出都是锯齿状的。 当然,这些标题都排在了左边,但结果并不是很好。

任何人都可以看到我做错了什么?

这工作:

 Sub djfsdf() allinfo = _ "Date/Time Opened:" & Space(33 - Len("Date/Time Opened:")) & Now() & vbCrLf & _ "Filename:" & Space(33 - Len("Filename:")) & Application.ActiveWorkbook.Name & vbCrLf & _ "Name in Cell B2:" & Space(33 - Len("Name in Cell B2:")) & Cells(2, 2).Value Cells(3, 3) = allinfo End Sub 

用适当的字体:

在这里输入图像说明

在计算中不包含stringvariables,以便添加空格的数量。

 AllInfo = _ "Date/Time Opened:" & Space(33 - Len("Date/Time Opened:" & Now())) & Now() & vbLf & _ "Filename:" & Space(33 - Len("Filename:" & Application.ActiveWorkbook.Name)) & Application.ActiveWorkbook.Name & vbLf & _ "Name in Cell B2:" & Space(33 - Len("Name in Cell B2:" & Cells(2, 2).Value)) & Cells(2, 2).Value & vbLf & _ (etc) 

我也改变你的vbCRLF只是vbLF; 这可能是也可能不是正确的。