Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 用空单元格连接跳过行_Excel_Vba - Fatal编程技术网

Excel 用空单元格连接跳过行

Excel 用空单元格连接跳过行,excel,vba,Excel,Vba,所以我的问题是,我这里有一个代码: Private Sub Validate_Input_Click() Dim temp As String For Row = 2 To 250 temp = "" For col = 2 To 12 If Cells(Row, col) <> "" Then If temp <> "" Then temp = temp & "_" temp = temp &a

所以我的问题是,我这里有一个代码:

Private Sub Validate_Input_Click()
  Dim temp As String
  For Row = 2 To 250
    temp = ""
    For col = 2 To 12
      If Cells(Row, col) <> "" Then
        If temp <> "" Then temp = temp & "_"
        temp = temp & Cells(Row, col)
      End If
    Next col
    Cells(Row, 1) = temp
  Next Row
End Sub
Private子验证\u输入\u单击()
作为字符串的Dim temp
对于行=2到250
temp=“”
对于col=2到12
如果单元格(行、列)“,则
如果是temp“”,则temp=temp&“
温度=温度和单元格(行、列)
如果结束
下一列
单元格(第1行)=温度
下一排
端接头
我从第2栏一直到第12栏都有相关信息,效果非常好。但是现在我想弄清楚,如果第2-6行输入了第2-6行的所有信息,所有单元格都填写正确,第7行缺少一个或两个未填写的单元格,第8-12行输入正确,所有单元格都填写正确,我如何使宏连接第2-6行,跳过第7行,因为空白单元格,并继续连接8-12

此外,并非所有2-250行都已填写完毕,通常为60-75行,具体取决于当时我对工作表所做的操作。我只是想要额外的缓冲区,以防万一,也就是为什么我想找出一种跳过空白单元格的方法,而不是连接具有空白单元格的一行或多行

我一直在搞乱If-Else语句,但不能完全理解它


任何帮助都会很好

我们在处理行之前测试任何空白:

Sub Validate_Input_Click()
  Dim temp As String
  For Row = 2 To 250
    If Application.WorksheetFunction.CountBlank(Range(Cells(Row, 2), Cells(Row, 12))) = 0 Then
        temp = ""
        For col = 2 To 12
          If Cells(Row, col) <> "" Then
            If temp <> "" Then temp = temp & "_"
            temp = temp & Cells(Row, col)
          End If
        Next col
        Cells(Row, 1) = temp
    End If
  Next Row
End Sub
子验证\u输入\u单击()
作为字符串的Dim temp
对于行=2到250
如果Application.WorksheetFunction.CountBlank(范围(单元格(第2行)、单元格(第12行))=0,则
temp=“”
对于col=2到12
如果单元格(行、列)“,则
如果是temp“”,则temp=temp&“
温度=温度和单元格(行、列)
如果结束
下一列
单元格(第1行)=温度
如果结束
下一排
端接头

看起来语法正确;你能提供一个你期望看到什么和你实际看到什么的例子吗?@BYates所以我看到的是,如果我从B-L得到信息,它将连接起来,不管发生什么,这是我想要它做的,但是如果让我们说,第4行,B列和G列缺少信息,我该如何做才能使它不连接第4行并一直延续到第5行?因此,如果B到L中有空格,请跳过整行???@Gary的学生正确!如果B到L之间有空格,则跳过整行,继续下一行,直到到达宏的250行末尾。因此,为了澄清这一问题,第一条if语句声明,好的,检查第2-12行的单元格,如果返回0,则结束if,下一行,如果它不等于0,那么继续使用正确的公式?@Maykid您是正确的。即使是一个空格也会导致跳过该行。太棒了,这完全有道理!直到现在我才知道
应用程序.WorksheetFunction.CountBlank
代码。非常感谢你@Maykid这是一种“借用”VBA中使用的工作表函数的方法。因此,本质上,它是一个容器,保存给定时间的信息,一旦使用,容器就不再存在了?这是正确的假设吗?只是想了解更多关于这个公式的内容,以便我理解它。