Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.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
Vba 如何在单个单元格中连接两列,即使其中一列为空 Sub-ConcatColumns() 当ActiveCell“”循环时执行此操作,直到活动单元格为空。 “&”必须在两侧有一个空格,否则将 '被视为长整数的变量类型。 ActiveCell.Offset(0,1)。公式1c1=_ ActiveCell.Offset(0,-1)&“,”和ActiveCell.Offset(0,0) ActiveCell.Offset(1,0)。选择 环 端接头_Vba_Excel - Fatal编程技术网

Vba 如何在单个单元格中连接两列,即使其中一列为空 Sub-ConcatColumns() 当ActiveCell“”循环时执行此操作,直到活动单元格为空。 “&”必须在两侧有一个空格,否则将 '被视为长整数的变量类型。 ActiveCell.Offset(0,1)。公式1c1=_ ActiveCell.Offset(0,-1)&“,”和ActiveCell.Offset(0,0) ActiveCell.Offset(1,0)。选择 环 端接头

Vba 如何在单个单元格中连接两列,即使其中一列为空 Sub-ConcatColumns() 当ActiveCell“”循环时执行此操作,直到活动单元格为空。 “&”必须在两侧有一个空格,否则将 '被视为长整数的变量类型。 ActiveCell.Offset(0,1)。公式1c1=_ ActiveCell.Offset(0,-1)&“,”和ActiveCell.Offset(0,0) ActiveCell.Offset(1,0)。选择 环 端接头,vba,excel,Vba,Excel,以上是我的代码 我想将A列和B列连接到C列,中间有一个逗号。 如果A/B列为空,C列不应该有逗号,而应该只有值本身 根据您的评论,您正在尝试执行类似Excel公式的操作=IF(A1=“”,IF(B1=“”,“”,B1),IF(B1=“”,A1,A1&“,”&B1)),我建议您使用以下代码: Sub ConcatColumns() Do While ActiveCell <> "" 'Loops until the active cell is blank. '

以上是我的代码

我想将A列和B列连接到C列,中间有一个逗号。
如果A/B列为空,C列不应该有逗号,而应该只有值本身

根据您的评论,您正在尝试执行类似Excel公式的操作
=IF(A1=“”,IF(B1=“”,“”,B1),IF(B1=“”,A1,A1&“,”&B1))
,我建议您使用以下代码:

Sub ConcatColumns()

   Do While ActiveCell <> ""  'Loops until the active cell is blank.

      'The "&" must have a space on both sides or it will be
      'treated as a variable type of long integer.

      ActiveCell.Offset(0, 1).FormulaR1C1 = _
         ActiveCell.Offset(0, -1) & " , " & ActiveCell.Offset(0, 0)

      ActiveCell.Offset(1, 0).Select
   Loop

End Sub
Sub-ConcatColumns()
在ActiveCell.Value“”或ActiveCell.Offset(0,-1.Value)时执行
使用ActiveCell
'如果(A1=“”
如果.Offset(0,-1).Value=”“则
'如果(B1=“”
如果.Value=”“,则
' ""
.Offset(0,1).Value=“”不应出现,但请注意安全
其他的
'B1
.Offset(0,1).Value=.Value
如果结束
'如果(B1=“”
ElseIf.Value=”“然后
“A1
.Offset(0,1).Value=.Offset(0,-1).Value
其他的
“A1&“,”和B1
.Offset(0,1).Value=.Offset(0,-1).Value&“,”&.Value
如果结束
以
ActiveCell.Offset(1,0)。选择
环
端接头

根据您的评论,您正在尝试执行类似Excel公式的操作
=IF(A1=“”、IF(B1=“”、”、B1)、IF(B1=“”、A1、A1&“、”&B1))
,我建议您使用以下代码:

Sub ConcatColumns()

   Do While ActiveCell <> ""  'Loops until the active cell is blank.

      'The "&" must have a space on both sides or it will be
      'treated as a variable type of long integer.

      ActiveCell.Offset(0, 1).FormulaR1C1 = _
         ActiveCell.Offset(0, -1) & " , " & ActiveCell.Offset(0, 0)

      ActiveCell.Offset(1, 0).Select
   Loop

End Sub
Sub-ConcatColumns()
在ActiveCell.Value“”或ActiveCell.Offset(0,-1.Value)时执行
使用ActiveCell
'如果(A1=“”
如果.Offset(0,-1).Value=”“则
'如果(B1=“”
如果.Value=”“,则
' ""
.Offset(0,1).Value=“”不应出现,但请注意安全
其他的
'B1
.Offset(0,1).Value=.Value
如果结束
'如果(B1=“”
ElseIf.Value=”“然后
“A1
.Offset(0,1).Value=.Offset(0,-1).Value
其他的
“A1&“,”和B1
.Offset(0,1).Value=.Offset(0,-1).Value&“,”&.Value
如果结束
以
ActiveCell.Offset(1,0)。选择
环
端接头

所以你试图创建类似于Excel公式的东西
=IF(A1=“”,IF(B1=“”,”,B1),IF(B1=“”,A1,A1&“,”&B1))
?是的。这是类似的。所以你试图创建类似于Excel公式的东西
=IF(A1=“”,IF(B1=“”,”,B1),IF(B1=“”,A1,A1&“,”,”,“&B1))
?是的东西。是这样的