【发布时间】:2018-02-14 05:14:12
【问题描述】:
希望你们都做得很好。我正在编写一个工作簿,其中有一列包含 10 个连续单元格。
在另一张纸上有一行我想将该数据粘贴为转置但问题是,该行中的某些单元格不是连续的,其中一些是隐藏的。像图片中一样:
现在我只想将数据粘贴到可见单元格作为转置,并且这些单元格必须作为链接粘贴,就好像对第一张表所做的任何更改一样,第二张表中的相对单元格也应该更改。幸运的是,我自己做了很多工作,因为我发现如何仅通过遵循 VBA 代码粘贴到可见单元格:
Sub PasteToVisible()
'Declarations
Dim Range1 As Range
Dim Range2 As Range
Dim InputRange As Range
Dim OutputRange As Range
'Prompt Box Title
xTitleId = "Paste to Visible"
'Start Input Range
Set InputRange = Application.Selection
'Select input range box
Set InputRange = Application.InputBox("Copy Range :", xTitleId, InputRange.Address, Type:=8)
'Select output range box
Set OutputRange = Application.InputBox("Paste Range:", xTitleId, Type:=8)
'Loop to paste the range in visible cells
For Each Range1 In InputRange
Range1.Copy
For Each Range2 In OutputRange
If Range2.EntireRow.RowHeight > 0 Then
Range2.PasteSpecial
Set OutputRange = Range2.Offset(1).Resize(OutputRange.Rows.Count)
Exit For
End If
Next
Next
Application.CutCopyMode = False
结束子'
这可以将值粘贴到可见单元格,但只能在列中(不能转置)。对于转置和链接,我使用了一个简单的转置 excel 公式,如下图所示:
这可以链接转置形式的值。我想在一个步骤中组合所有三个功能(粘贴到可见、转置和作为链接)。请帮助我。我将非常感谢任何建议和帮助。提前致谢。
【问题讨论】:
-
使用
Formula或FormulaR1C1属性代替PasteSpecial并设置链接。 -
先生,您能举个例子吗?
标签: vba excel excel-formula