【问题标题】:How to move cells down its column based off blank cell row in range如何根据范围内的空白单元格行将单元格向下移动
【发布时间】:2021-10-16 00:04:42
【问题描述】:

我正在尝试将列 K 到 L 中的单元格值在其列中向下移动到与 E 列中的每个空白单元格相同的行。

希望这是有道理的,但我认为我需要弄清楚如何找到每个空白单元格的行号并将其强制为行变量,然后我可以使用它来告诉我的代码在 K13:L 范围内移动单元格值。例如,如果 K13:L14 中有一个值,并且 E 列中的空白单元格是 E20 和 E23,我希望 K13 和 L13 移动到 K20 和 L20,而 K14 和 L14 移动到 K23 和 L23。

空白单元格的数量将始终匹配,但是在 K/L 列中有许多具有值的单元格

不胜感激!

【问题讨论】:

  • 请编辑您的问题并发布您的代码尝试。

标签: excel vba range


【解决方案1】:

使用下面的宏开始您的学习。但首先您需要将 K&L 列中的值删除为 N&O。 (也许您可以录制一个宏并将录制的代码添加到下面代码的开头。)

Sub move_it() 
i = 13 
j = 13

Do While Cells(j, 14).Value <> ""
    
    If Cells(i, 5) <> "" Then
        i = i + 1
    Else
        Range("n" & j, "o" & j).Select
        Selection.Cut
        Range("K" & i).Select
        ActiveSheet.Paste
        j = j + 1
        i = i + 1
    End If 
Loop

End Sub

【讨论】:

    【解决方案2】:

    答案是我需要将我的复制粘贴偏移到我需要将其移动到的行!

    ws.Range("E" & openitemstartrow + 1, ws.Range("F" & openitemstartrow + 
    10).End(xlUp)).Copy
    targetws.Range("G" & rows.Count, "H" & rows.Count).End(xlUp).Offset(1, 4).PasteSpecial Paste:=xlPasteValues
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多