2017-08-22 152 views
-1

问题是我在sheet1上有一个AB8和AB9以及AC8和AC9等位置的数据,所以唯一的变化就是列字母。在工作表n2中,我需要输入以下公式= AB8/AB9,并将其复制粘贴到工作表n2中的第5列。问题是,在每次复制后,我需要在粘贴公式时将列字母加1。但是,Excel自动粘贴栏AB8 + 5,所以它实际上是AG8,而我需要从Sheet1栏AC8。 Excel表是巨大的,所以自动做这件事是非常痛苦的经历,我相信有一种方法可以为它制作一个公式或VBA。感谢任何帮助。 :)如何将excel中的公式复制并粘贴到与初始单元格不相邻的单元格中?

+0

所以,你可以* *拖动公式,是吗?你只是想计算'AB8/AB9',然后'AB9/AB10','AB10/AB11'等?但从表2开始,列A,然后是F,然后是K等? – BruceWayne

+0

我想从表1中复制公式AB8/AB9并将其插入到工作表2中的每第5列中并添加+1列,以便工作表2中的A1看起来像AB8/AB9,并且A5将是AC8/AC9而不是AG8/AG9作为栏A1-A5填写sheet2中的另一个数据 – Zenik

回答

0

试试这个

Option Explicit 

Sub Demo() 
    Dim srcSht As Worksheet, destSht As Worksheet 
    Dim rowIndex As Long, colIndex As Long 

    Set srcSht = ThisWorkbook.Sheets("Sheet1") 'change Sheet1 to your source sheet 
    Set destSht = ThisWorkbook.Sheets("Sheet2") 'change Sheet1 to your output sheet 
    rowIndex = 1 
    colIndex = 28    'set col number for Column AB 

    With srcSht 
     Do While .Cells(8, colIndex).Value <> "" 'loop through column AB to last column with data in row 8 
      destSht.Cells(rowIndex, 1) = .Cells(8, colIndex)/.Cells(9, colIndex) 
      rowIndex = rowIndex + 5  'increment row by 5 
      colIndex = colIndex + 1  'increment column by 1 
     Loop 
    End With 
End Sub 
相关问题