2 Stimmen

Druck von Zeilenzellenwerten in Excel

Ich möchte die Werte in einer Excel-Zeile drucken. Ich kann zur Zeile gelangen und sie auswählen, aber wie durchlaufe ich die Zellen? Oder gibt es ein Zeilenobjekt, das ich lesen kann?

Range("A1").End(xlUp).Offset(1, 0).Select

    Do Until IsEmpty(ActiveCell)

        r = Rows(ActiveCell.Row).EntireRow.Select

        For Each cell In r.Cells
            Debug.Print cell.Value
        Next cell

    Loop

2voto

mechanical_meat Punkte 154171

Ich denke, dass es keine gute Idee ist, Do UntilIsEmpty(ActiveCell) zu machen:
du könntest einige leere Zellen haben, die von nicht-leeren Zellen gefolgt werden.

Wie funktioniert dieser Code für dich?

Sub print_some_values()

    Dim c As Long
    Dim r As Long
    Dim max_col As Long

    r = ActiveCell.Row
    max_col = ActiveSheet.UsedRange.Columns.Count

    For c = 1 To ActiveSheet.UsedRange.Columns.Count
       Debug.Print ActiveSheet.Cells(r, c).Value
    Next c

End Sub

1voto

Dr. belisarius Punkte 59702

Ich bin mir nicht sicher, was du erreichen möchtest, aber dieser Code druckt die aktuelle Zeile aus, bis eine leere Zelle gefunden wird.

Sub a()

Dim r As Range
Dim c As Range

    Set r = Rows(ActiveCell.Row)
    For Each c In r.Cells
        If (IsEmpty(c)) Then Exit For
        Debug.Print c.Value
    Next c

Bearbeiten

Ich glaube, das ist wonach du suchst:

Sub a()

Dim TheArray As Variant

TheArray = Range("A4:E4").Value
Debug.Print TheArray(1, 4)

End Sub

0voto

Lorenzo Punkte 4298

Ich habe einen gemischten Ansatz verwendet, das ">" sagt mir, ob die Zeile schmutzig ist (bearbeitet wurde)

Dim r As Range
Dim c As Range
Dim max_col As Long

max_col = ActiveSheet.UsedRange.Columns.Count

Range("A1").End(xlUp).Offset(1, 0).Select

Do Until IsEmpty(ActiveCell)
    Debug.Print ActiveCell.Value

    If ActiveCell.Value = ">" Then
        Set r = Rows(ActiveCell.Row)

        For Each c In r.Cells
            'den Wert jeder Zelle in der Zeile ausgeben
            If c.Column = 1 Then
                'überspringen
            ElseIf c.Column <= max_col Then
                Debug.Print c.Value
            Else
                Exit For
            End If
        Next c
    End If

    ActiveCell.Offset(1, 0).Select

Loop

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X