2015-07-20 4 views
0

Я пытаюсь заполнить формулуR1C1 и код, который я использую для численных или строковых записей, но не для формулы. Это то, что я до сих порКак заполнить формулу Formula1?

Dim sourceCol As Integer, rowCount As Integer 
sourceCol = 4 
rowCount = Cells(Rows.Count, sourceCol).End(xlUp).Row 
Range("K11:K" & LastRow).FormulaR1C1 = "=IF(R[0]C[-8]="""","",R[0]C[-9]&R[0]C[-6])" 

Последняя ячейка в колонке D составляет около 1000, и я знаю, что это работает в других ситуациях. Вы можете помочь?

Благодаря

+0

Вам также нужны двойные кавычки для пустой строки. Это отлично работает '' = IF (R [0] C [-8] = "" "", "" "", R [0] C [-9] & R [0] C [-6]) "' – pathDongle

ответ

0

Я предоставил несколько решений здесь - используя ключевое слово FillDown или просто ссылающийся на весь диапазон.
Кроме того, вы не вкладывали достаточно двойных кавычек в свою формулу - все они нуждаются в удвоении.
В R1C1 обозначениях вы просто использовать R, чтобы ссылаться на ту же строку, не R [0]

  • RC тот же ряд, тот же столбец.
  • R [-1] C это один и тот же столбец, -1 строки
  • R1C2 является строка 1, столбец 2

    With ActiveSheet 
    
        '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 
        '- To FillDown you can use. 
        '.Range("K11").FormulaR1C1 = "=IF(RC[-8]="""""""","""",RC[-9]&RC[-6])" 
        '.Range(.Cells(11, 11), .Cells(rowCount, 11)).FillDown 
        '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 
    
        .Range(.Cells(11, 11), .Cells(rowCount, 11)).FormulaR1C1 = "=IF(RC[-8]="""""""","""",RC[-9]&RC[-6])" 
    End With 
    
+0

Спасибо за вашу помощь, в конце концов, я использовал вашу помощь, чтобы исправить свой листок, и он показал мне, что случилось с моим собственным кодом. – Kalaan

0

выше помощь от Даррена работает, однако нижеследующее тоже.

Dim sourceCol As Integer, rowCount As Integer 
sourceCol = 4 
rowCount = Cells(Rows.Count, sourceCol).End(xlUp).Row 
Range("K11:K" & rowCount).FormulaR1C1 = "=IF(RC[-8]="""","""",RC[-9]&RC[-6])" 
Смежные вопросы