我正在尝试使用text
和{{1}的嵌套填写一系列b0
框(名称b41
一直到For
) }语句。我的格式化遇到了麻烦。这就是我所拥有的:
if
'Fill in Names under dates
For x = 1 To intSize 'open loop to go through array that holds days off
For y = 0 To 41 'open loop to cycle through the text boxes
'check if date in array matches text box date
If Me("id" & y) = arrVacay(x).DayOff Then
If Me("b" & y).Value = "" Then
Me("b" & y) = arrVacay(x).PersonOff
Else
Me("b" & y) = Me("b" & y) & vbCrLf & arrVacay(x).PersonOff
End If
End If
Next y
Next x
是一个包含日期和名称的变体数组。代码基本上读取我的数组以找到Name需要去的日期。每个日期可以有多个名称。然后将名称放入相应的框中。多个名称可以并将进入任何给定的框。
我的问题是,当我运行程序时,我的文本在第一个名称之前显示换行符。有什么想法吗?
编辑:在T McKeon的评论之后,我发布了我目前的结果 -以上代码产生:
arrVacay
我不希望日期和名字之间有空格。从我的追加行中删除 12/31/13
---> space here
John
Mary
会在一行中生成两个名称。
编辑:
通过以下评论,我稍微改了一下代码。我转换了我的For Nest,看看是否有所作为。它没有
VbCrLf
使用此代码,我什么都没有填写。
如果我注释掉最内部的For y = 0 To 41
For x = 1 To intSize
If Me("id" & y) = arrVacay(x).DayOff Then
If Me("b" & y) Is Nothing Then
Me("b" & y) = Me("b" & y) & arrVacay(x).PersonOff
End If
End If
Next x
Next
语句,但留在最里面的行,我会在正确的位置得到我的名字,但行间距仍然是关闭的。
答案 0 :(得分:0)
删除下面的vbCrlf:
If Me("b" & y).Value = "" Then
Me("b" & y) = arrVacay(x).PersonOff
Else
Me("b" & y) = Me("b" & y) & vbCrLf & arrVacay(x).PersonOff
End If
答案 1 :(得分:0)
终于找到了一个解决方案......我刚刚初始化了我所有的b-box并且它有效。
For z = 0 To 41
Me("b" & z).Value = ""
Next z
For y = 0 To 41
For x = 1 To intSize
If Me("id" & y) = arrVacay(x).DayOff Then
If Me("b" & y).Value = "" Then
Me("b" & y) = Me("b" & y) & arrVacay(x).PersonOff
Else
Me("b" & y) = Me("b" & y) & vbCrLf & arrVacay(x).PersonOff
End If
End If
Next x
Next y
感谢您帮助我解决暴风雨问题。