美好的一天每个人我都遇到了问题:
我有一个表单,用户可以在其中添加将以ms字词
传递给表的行我就是这样做的:
Dim frame As Control
For Each frame In fillForm.MultiPage1.Pages(2).Controls
If TypeOf frame Is msforms.frame Then tablerowadd frame.Controls("krsName").Value, frame.Controls("krsMark").Value
Next frame
Public Function tablerowadd(krsName As String, krsmark As String) As Boolean
krsRow = krsRow + 1
With ActiveDocument.Tables(1)
.Rows.Add
.Cell(krsRow, 1).Range.Text = krsName
.Cell(krsRow, 2).Range.Text = krsmark
End With
End Function
krsRow是一个公共整数变量。
谁能告诉我,我做错了什么?
当我调试时,我得到了krsRow = 2,3,4
等
但是.Cell(krsRow, 2).Range.Text = krsmark
总是在第1行添加文字
请帮忙!
答案 0 :(得分:0)
所以,这很简单,你需要在插入文本时引用最后一行。因此,将函数内部部分更改为:
.Cell(.Rows.Count, 1).Range.Text = krsName
.Cell(.Rows.Count, 2).Range.Text = krsmark
结果输入转到表格的最后一行。
如果您更改,则无需使用krsRow
变量