在excel中向右或向左移动选定的单元格数据,而不使用剪切+粘贴或复制和粘贴。使用箭头键移动数据会很棒


0

嗨我想知道如何运行VBA或宏(或任何其他更简单的方法)来移动任何当前选择的(从一行中的一个单元格到多个单元格和跨行,列的选择)从excel到正确的一列或左一列。

简而言之,我正在准备一份建筑实践的预测表。它的工作方式与Microsoft项目的工作方式相同,其中时间轴行显示在多个月份列中。当项目时间表发生变化时,我需要能够选择一行数据,单个或多个单元格,并仅将所选数据移动一列。从前一个单元格位置删除数据也很棒(仅从本质上剪切和粘贴数据)

  1. 我不能使用复制和粘贴复制数据
  2. 选择并拖动边界框的边缘,四星光标采用公式,连接和格式

见附图 - 想象4月19日和5月19日的两个50%的分配需要在7月开始推出。简单地说,我想选择那些单元格并仅移动数据 - 就像使用右箭头键(或左箭头键)一样移动数据,就像俄罗斯方块一样。

请转发以听取您的建议
在此输入图像描述


您是否尝试插入或删除单元格并移动lright或left?(.Insert Shift:=xlToRight.Delete Shift:=xlToLeft在VBA)?
cybernetic.nomad

谢谢,我是新来的VBA和宏,我会尝试使用您的建议
AustinH

Answers:


0

Paste Paste是您要找的?这就是Excel 2007中的粘贴下拉列表:

在此输入图像描述

我不清楚为什么简单的剪切和粘贴对你不起作用(也许它会带有单元格突出显示/格式化?但你并没有真正说这是你的问题),所以我不确定这会不会解决您的问题,但它提供了许多选项来优化您的粘贴。请注意,如果您不想复制数据,请使用cut(Ctrl+ X)而不是copy(Ctrl+ C)。


0

这是一个答案,虽然我认为这会让你感到痛苦而不是快乐。使用带ctrl+ xctrl+的剪切和粘贴v可能会节省许多麻烦。

在工作簿中创建两个模块。添加以下代码。运行module1以激活密钥交换,运行module2将其关闭。打开时,左右箭头键会向右或向左移动数据并破坏旧单元格中的数据。公式将被删除。 小心使用

我建议用按钮激活这两个模块。

模块1

Sub shifter()
    Application.OnKey "{LEFT}", "LShift"
    Application.OnKey "{RIGHT}", "RShift"

End Sub

Function LShift()
    Selection.Offset(0, -1).Value2 = Selection.Value2
    Selection.Value2 = ""
    Selection.Offset(0, -1).Select

End Function

Function RShift()
    Selection.Offset(0, 1).Value2 = Selection.Value2
    Selection.Value2 = ""
    Selection.Offset(0, 1).Select
End Function

单词数

Sub Endshifter()
    Application.OnKey "{LEFT}"
    Application.OnKey "{RIGHT}"

End Sub
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.