我正在尝试应用列数并将现有值粘贴到该行中 8 次或 4 次等。
我尝试了 Not IsEmpty 函数和循环,从列不为空的每一行开始,然后在其后面粘贴一定的次数。
这是我拥有的以及我想要的样子。
For X = 2 To 37
For Y = 2 To 37
For XX = 2 To Cells(XX, 1)
If IsEmpty(Cells(X, Y)) = False Then
Cells(X, Y).Copy Cells(X, XX+1)
End If
Next XX
Next Y
Next X
最佳答案
向右填充
- 比方说
n
是A
列中的值:从最后一列向左数,需要n-th
值填充n-1
最右边的列。
Sub FillRight()
' Read.
Dim ws As Worksheet: Set ws = ActiveSheet ' improve!
Dim rg As Range, rCount As Long, cCount As Long
With ws.UsedRange
rCount = .Rows.Count - 1
Set rg = .Resize(rCount).Offset(1) ' without headers
cCount = .Columns.Count
End With
Dim Data() As Variant: Data = rg.Value
' Modify.
Dim r As Long, c As Long, cNum As Long, cValue As Variant
For r = 1 To rCount
If Len(CStr(Data(r, 1))) > 0 Then
cNum = cCount - Data(r, 1) + 1
cValue = Data(r, cNum)
For c = cNum + 1 To cCount
Data(r, c) = cValue
Next c
End If
Next r
' Write.
rg.Value = Data
End Sub
关于excel - 根据列数将现有值粘贴到相应行中一定次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74454312/