Wie kann ich diese Funktion mit VBA in Excel ausführen?

Wie kann ich diese Funktion mit VBA in Excel ausführen?

Ich versuche, diese Funktion in VBA zu erhalten, bin aber neu darin. Ich weiß nicht, wie ich das hinbekomme:

Ich versuche Folgendes: Für jede numerische Zelle in Spalte B möchte ich die nächsten beiden Zellen in Spalte H nehmen. Wenn es also B7 ist, möchte ich H8 und H9 nehmen (die nächsten beiden Zeilenwerte in Spalte H), sie verketten (es sind Zeichenfolgen) und sie in I7 speichern (dieselbe Zeile wie B7) und schließlich die Werte in H8, H9 löschen.

Hier bin ich angekommen, ich weiß, es ist nicht viel.

Private Sub CommandButton1_Click()
Dim B As Range, H As Range, I As Range
For Each B In ClientTable.Columns(2).Cells
    If IsNumeric(B) Then
    (What should be done here?)    
    End If
Next B
End Sub

Antwort1

Ich habe festgestellt, IsNumeric(B)dass dies für leere Zellen zutrifft, also habe ich Ihre IfAussage entsprechend geändert. Das hat bei mir funktioniert:

    If IsNumeric(B) And B <> "" Then
        Cells(B.Row, 9) = Cells(B.Row + 1, 8) & Cells(B.Row + 2, 8)
        Cells(B.Row + 1, 8) = ""
        Cells(B.Row + 2, 8) = ""
    End If
    If B.Row > 9 Then Exit For

Offensichtlich sind 8und 9die Spaltennummern für Hbzw. I. Ich habe die

If B.Row > 9 Then Exit For

Zeile, weil ich ein Problem mit der Schleife hatte, die nicht beendet wurde; wenn

For Each B In ClientTable.Columns(2).Cells

für Sie funktioniert, können Sie das herausnehmen If B.Row > 9 Then Exit For.

verwandte Informationen