So kopieren Sie einen Zellenwert und fügen ihn ein. Wenn die Zelle mehr als 0 enthält, fügen Sie ihn per Schleife in eine andere Zelle ein

So kopieren Sie einen Zellenwert und fügen ihn ein. Wenn die Zelle mehr als 0 enthält, fügen Sie ihn per Schleife in eine andere Zelle ein

Ich muss kopierenC74Zelle

Dann einfügen inC85 bis C88

Bedingung 1: Welche Zelle hat mehr als 0, muss nicht eingefügt werden

Bedingung 2: Welche Zelle hat 0, dann fügen Sie den C74-Wert ein.

*Es ist nicht nötig, in alle Zellen mit Nullen einzufügen.

*Fügen Sie den Wert einfach in die erste Zelle ein, die 0 enthält.

Ich habe es für bis zu 2 Zellen ausprobiert. Aber ich brauche es für bis zu 4 Zellen.

Kann mir jemand einen Rat geben?

Sub TIMECALC()
ActiveSheet.Range("C74").Copy
If ActiveSheet.Range("C85").Value > 0 Then ActiveSheet.Range("C86").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False Else ActiveSheet.Range("C85").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
Application.CutCopyMode = False
End Sub

Einrasten

Bildbeschreibung hier eingeben

Antwort1

Verwenden Sie For Each...es, um den Bereich zu durchlaufen C85:C88und den Vergleich durchzuführen, wenn der Wert dieser Zellen größer als 0 ist. Fügen Sie dann den Inhalt/Wert von C74 ein, wenn dies zutrifft.

Sub Calc()

    'Copy the cell
    Range("C74").Copy
    'Loop through each cell of the range
    For Each cell In Range("C85:C88")
        If cell.Value = 0 Then
            'Paste copied value
            cell.PasteSpecial Paste:=xlPasteValues
            'Exit the loop
            Exit For
        End If

    Next
End Sub

verwandte Informationen