表+错误9(下标超出范围)
我使用表格从文本框中获取数据:textbox的每一行= table_result_final的一行。
我想摆脱textebox中的空白行:
第一行:“”
第2行:“TEXT”
第3行:“TEXT”
第4行:“”
问题是,当我的行都没有空的时候,我在最后出现一个错误信息“下标超出范围”。 虽然,我的所有数据都收集在正确的表格中。 我想摆脱它,但不明白的问题:(
感谢您的帮助。
While Table_Result_Final(i) <> "" Sheets("IDENREG_FORM_TEXTBOX").Cells(j, 1).Value = Table_Result_Final(i) i = i + 1 j = j + 1 Wend
你必须遍历你的数组索引范围:
For i = LBound(Table_Result_Final) To UBound(Table_Result_Final) If Table_Result_Final(i) <> "" Then j = j + 1 Sheets("IDENREG_FORM_TEXTBOX").Cells(j, 1).Value = Table_Result_Final(i) End If Next
我认为你的循环条件应该是:
While Table_Result_Final(i) <> "" And i <= UBound(Table_Result_Final)
假设您有一个名为txtBox
的文本框,如下所示:
那么,如果你运行这个代码:
Option Explicit Public Sub RemoveEmptyLines() Dim strTextBox As String strTextBox = ActiveSheet.Shapes.Range(Array("txtBox")).TextFrame2.TextRange.Characters.Text Debug.Print "Input:" Debug.Print strTextBox ' We need to make it actually 2 times, just in case if the lines are ' odd number. strTextBox = Replace(strTextBox, Chr(10) & "" & Chr(10), Chr(10)) strTextBox = Replace(strTextBox, Chr(10) & "" & Chr(10), Chr(10)) strTextBox = Replace(strTextBox, Chr(10) & "" & Chr(10), Chr(10)) Debug.Print "Output:" Debug.Print strTextBox End Sub
你会在直接的窗口得到这个:
Input: My name is tsaka tsaka Slim Shaddy .... Output: My name is tsaka tsaka Slim Shaddy ....
这个想法是读取文本框中的文本,并将其replace为Chr(10) & "" & Chr(10)
,它是string中空行的代码。