excel vba将A列中活动单元格中的所有数据输出到msgbox

excel 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

如何将例如列“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("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为空,如何使其不显示消息框