使用宏

时间:2015-12-11 22:10:29

标签: excel vba

我目前正在开发一个宏,它接受一个多行单元格并获取每一个新行并将它们水平放入下一列。 这需要相对引用,这意味着我需要在多个单元格上重复使用它,因此它不能特定于某个范围的单元格。

所以我开始的是:initial cell

然后我应该把它变成这个:

enter image description here

我尝试编写一个宏来获取所有值,并将它们放入由行分隔的一列上的单个单元格中,然后粘贴>转置,但我收到了粘贴错误。有人有任何提示吗?提前谢谢。

这是我迄今为止尝试过的宏的代码。我收到了它的粘贴错误,所以它无效。

Sub t()
'
' t Macro
'
' Keyboard Shortcut: Ctrl+t
'
    ActiveCell.Select
    ActiveCell.FormulaR1C1 = "Sheryl D. Colvin, deceased" & Chr(10) & ""
    ActiveCell.Offset(0, 1).Range("A1:A3").Select
    ActiveCell.Offset(1, 0).Range("A1").Select
    ActiveSheet.Paste
    ActiveCell.Range("A1:A3").Select
    Selection.Copy
    ActiveCell.Offset(-1, 0).Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
    ActiveCell.Offset(1, 0).Range("A1:A3").Select
    Application.CutCopyMode = False
    Selection.ClearContents
End Sub

1 个答案:

答案 0 :(得分:1)

圣诞快乐

Sub splitcell()
Dim arr() As String
Dim rng as Range
set rng = selection
arr = Split(rng, Chr(10))
rng.Resize(, UBound(arr) + 1).Value = arr
End Sub

将它放入您的模块中,然后您可以通过转到工具>宏>宏(Alt + F8)分配快捷键,然后选择选项按钮并输入您要使用的快捷键。

选择要拆分的单元格,然后点击您指定的快捷键。瞧它完成了。