我知道标题不清楚。因此,我试着在内容中详细解释。
VB界面中有15个文本框,如下图所示。
这是一个用户界面,允许用户输入数据并存储在工作表中。
假设用户填写了所有15个文本框。然后,第一行文本框将相应地传递并存储在Excel单元格A1,B1,C1,D1中的数据。第二行文本框将数据存储在Excel单元格A2,B2中, C2,D2 ......
因此,我想使用嵌套循环来解决问题。
for {for { Cells.(i,j)=textbox1.value
声明的左侧很好,因为每个Excel单元格都有自己的ID(列和行顺序)。
但是,对于右侧,每个TextBox
名称都由我分配。我将它们命名为textbox1,textbox2,textbox3 ......
为了让它们适合循环,我想在循环期间更改它们的文本框名称。例如,
`textbox+i; i++ ;` ' just my thought
现实可以做到这一点吗? 此外,如果用户填写半行数据(3行,数据然后提交,2行空白),怎么办?。如果VBA继续用数据行填写数据?
答案 0 :(得分:0)
Excel的Application Object中有一个方法。此函数将字符串计算为公式。 Excel帮助的URL评估示例:
答案 1 :(得分:0)
尝试使用以下代码
/* ./inventory.js */
var hide_error = function () {
$('input').on("keypress", function() {
$( ".has-error" ).hide();
});
}
/* ./tess.js */
QUnit.module( "module A ", {
before: hide_error
});
QUnit.test("errors not be hidden unless keypresses", function ( assert ) {
assert.equal( $('.has-error').is(':visible'), true, "Not Hidden" );
});
QUnit.test("errors should be hidden on keypresses", function ( assert ) {
$('input').trigger("keypress");
assert.equal( $(".has-error").is(':visible'), false, "Hidden" );
});
答案 2 :(得分:0)
您可以使用以下代码:
For i = 1 To 5 '<-- 5 "rows" of textboxes
For j = 1 To 3 '<-- 3 "columns" of textboxes for each row
Cells(i, j) = Me.Controls("TextBox" & (i - 1) * 3 + j) '<-- textboxes are name form "TextBox1" to "TextBox15" rowwise
Next j
Next i
根据您的实际行数和列号进行调整。
至于你的“如果......”问题,我不清楚你想要实现什么
应该只想跳过“未输入”的文本框,然后你就可以去
了 For i = 1 To 5 '<-- 5 "rows" of textboxes
For j = 1 To 3 '<-- 3 "columns" of textboxes for each row
With Me.Controls("TextBox" & (i - 1) * 3 + j) '<-- textboxes are name form "TextBox1" to "TextBox15" rowwise
If .Text <> "" Then Cells(i, j) = .Text '<--| skip void textboxes
End With
Next j
Next i