2015-09-10 56 views
0

我目前正在研究一個宏,它將格式化我們運行的問卷調查結果,並將結果輸入儀表板。插入列時遇到問題 - 內存不足

我需要在電子表格中插入列,但只能在特定問題之後。我使用下面的代碼來插入列,但是當它到達要插入列的部分時,出現「內存不足」的錯誤,Excel將關閉。

我目前有485列和1534行(這是受訪者的水平數據與多編碼問題)。

Sub AddingFillerColumns() 
    Dim x As Integer 
    Dim FCol As Long 
    Dim xRange As Range 

    Workbooks("WaveData.xlsx").Activate 

    FCol = Cells(1, Columns.Count).End(xlToLeft).Column 

    For x = 214 To FCol Step 29 
     If Cells(1, x).Value Like "Q9*" Then 
      Set xRange = Cells(1, x) 
       Range(xRange.End(xlDown), xRange).Insert Shift:=xlToRight 
       Cells(1, x).Value = "Q9_None" 
     End If 
    Next x 
End Sub 

回答

0

我無法讓你的代碼在我身上失敗。 也許只需插入列而不是設置xrange並確定要插入的範圍。

Sub AddingFillerColumns() 
    Dim x As Integer 
    Dim FCol As Long 

    'Workbooks("WaveData.xlsx").Activate 

    FCol = Cells(1, Columns.Count).End(xlToLeft).Column 

    For x = 214 To FCol Step 29 
     If Cells(1, x).Value Like "Q9*" Then 
      Cells(1, x).EntireColumn.Insert 
      Cells(1, x) = "Q9_None" 
     End If 
    Next x 
End Sub 

是否有很多公式?

+0

完全沒有 - 表格本身只有很多數據(或者至少我認爲存在)。 – kksf