excel vba char(10)具有特殊字符串值

Man*_*ish 3 excel vba excel-vba

我有一个数据范围,我与行函数连接,我想要输出如下

范围("A1:A3")有A,B,C,我希望单个单元格中的输出为

-A
-B
-C
Run Code Online (Sandbox Code Playgroud)

我正在使用以下代码; 不知怎的,它没有给我想要的输出.任何人都可以调查并协助吗?

Dim X As String,cell as Range
For Each Cell in Range("A1:A3")
  If(Len(cell.value)>0) Then
  X="-" & X & CHAR(10) & Cell.Value
End If
Next
Range("B1").Value= X

Range("B1").WrapText = True
Range("B1").Columns.AutoFit
Run Code Online (Sandbox Code Playgroud)

bre*_*tdj 5

试试这个

X = X & "-" & cell.Value & Chr(10)
Run Code Online (Sandbox Code Playgroud)

在全:

Sub ab_notsonull()
Dim X As String, cell As Range
For Each cell In Range("A1:A3")
  If (Len(cell.Value) > 0) Then
  X = X & ("-" & cell.Value & Chr(10))
End If
Next
Range("B2").Value = Left$(X, Len(X) - 1)
Range("B2").WrapText = True
Range("B2").Columns.AutoFit
End Sub
Run Code Online (Sandbox Code Playgroud)

  • ...并可能使用`Left(X,Len(X)-1)`删除循环结束后的最后一个字符?(要摆脱最终的LF并避免单元格在末尾显示一个空白的“行”。)或者,可能更简单的方法是将LF放在串联的开头,并在出现时使用`Mid(x,2)`。将值放入单元格。 (2认同)