2017-08-22 224 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 
相關問題