如何使用VBA转置链接

可以说我在一张纸上有一排:

A1 B1 C1 D1 E1 

我想复制,转置和粘贴链接到这些单元格到Excel中的另一个工作表,如下所示:

 =Sheet2!A1 =Sheet2!B1 =Sheet2!C1 =Sheet2!D1 =Sheet2!E1 

有没有办法用VBA做到这一点? 出于某种原因,这个代码不起作用,我得到的只是

 =Sheet2!A1 =Sheet2!A2 

等等

 Sub Pastelinks() Worksheets("Data_All_01").Range("$D$23:$AG$23").Copy With Worksheets("DB 1,5€").Range("$F$287") .PasteSpecial Transpose:=True .Activate ActiveSheet.Paste Link:=True End With End Sub 

避免在vba中复制/粘贴

 Sub test() Dim i As Integer, ii As Integer Dim ws As Worksheet Set ws = Worksheets("DB 1,5") 'insert euro character back '4 is column D '33 is column AG For i = 4 To 33 ws.Cells(287 + ii, 6).FormulaR1C1 = "=Data_All_01!R23C" & i ii = ii + 1 Next End Sub 

这将从打开的工作表的范围A1:A4中取值,并将它们放在工作表(2)中,使用起始列和初始范围的行。

 Option Explicit Sub TransposeMe() Dim my_cell As Range Dim l_counter As Long Dim l_row As Long Dim l_col As Long l_row = Range("A1:D1").Row l_col = Range("A1:D1").Column For Each my_cell In Range("A1:D1") Sheets(2).Cells(l_row, l_col) = my_cell l_row = l_row + 1 Next my_cell End Sub