excel vba将A列中活动单元格中的所有数据输出到msgbox
如何将例如列“A”中的所有活动单元格输出到msgboxexcel vba将A列中活动单元格中的所有数据输出到msgbox,excel,vba,Excel,Vba,如何将例如列“A”中的所有活动单元格输出到msgbox 示例文件 chicken stew fish pie apple cake msgbox将显示 chicken fish apple 此代码有效 MsgBox Worksheets("Sheet1").Range("A2").Value & vbCrLf & Worksheets("Sheet1").Range("A3") 但事实并非如此 MsgBox Worksheets("Sheet1").Range
示例文件
chicken stew
fish pie
apple cake
msgbox将显示
chicken
fish
apple
此代码有效
MsgBox Worksheets("Sheet1").Range("A2").Value & vbCrLf & Worksheets("Sheet1").Range("A3")
但事实并非如此
MsgBox Worksheets("Sheet1").Range("A:A").Value
非常感谢考虑一下:
Sub dural()
For Each r In Intersect(Range("A:A"), ActiveSheet.UsedRange)
If r.Value <> "" Then
msg = msg & vbCrLf & r.Value
End If
Next r
MsgBox msg
End Sub
Sub-dural()
对于Intersect(范围(“A:A”)、ActiveSheet.UsedRange中的每个r
如果r.值为“”,则
msg=msg&vbCrLf&r.值
如果结束
下一个r
MsgBox味精
端接头
编辑#1:
此版本测试列A是否为空:
Sub dural()
If Application.WorksheetFunction.CountA(Range("A:A")) = 0 Then
MsgBox "Column A is empty"
Exit Sub
End If
For Each r In Intersect(Range("A:A"), ActiveSheet.UsedRange)
If r.Value <> "" Then
msg = msg & vbCrLf & r.Value
End If
Next r
MsgBox msg
End Sub
Sub-dural()
如果Application.WorksheetFunction.CountA(范围(“A:A”)=0,则
MsgBox“A列为空”
出口接头
如果结束
对于Intersect(范围(“A:A”)、ActiveSheet.UsedRange中的每个r
如果r.值为“”,则
msg=msg&vbCrLf&r.值
如果结束
下一个r
MsgBox味精
端接头
如果列a为空,如何使其不显示消息框 试试这个
Sub test()
Dim lastrow As Long, res As String
With Worksheets("Sheet1")
If WorksheetFunction.CountA(.Range("A:A")) = 0 Then
MsgBox "Column A is empty"
Exit Sub
End If
lastrow = .Cells(.Rows.Count, "A").End(xlUp).Row
res = Join(Application.Transpose(.Range("A2:A" & lastrow + 1).Value), vbCrLf)
Do While InStr(1, res, vbCrLf & vbCrLf) ' remove extra vbCrLf (if there're empty rows)
res = Replace(res, vbCrLf & vbCrLf, vbCrLf)
Loop
MsgBox Left(res, Len(res) - 1)
End With
End Sub
非常感谢您的快速回复如果a列为空,我将如何使其不显示消息框?如果a列为空,我将如何使其仅显示msgbox ie中包含数据的单元格?在我的示例中,每行中都有数据,但实际文件可能有空行?Isorry,这将是一个难题,我如何让它只显示msgbox中有数据的单元格?在我的示例中,每行都有数据,但实际文件中可能有空行,但我不希望msgbox中有空行。感谢您的快速回复。如果列A为空如果列A为空,如何使其不显示消息框