2015-08-11 3 views
0

Я пытаюсь, но это не работает:Append новой строки в ячейку в Excel

Sub macro1() 
Application.ScreenUpdating = False 
Application.Calculation = xlCalculationManual 

Dim LR As Long 
With ActiveSheet 
    LR = .Cells(.Rows.Count, "C").End(xlUp).Row 
End With 

For r = 2 To LR 

p = Application.Match(Cells(r, 3), Sheets("Input").Range("C:C"), 0) 

If IsError(p) Then GoTo nextr: 

Cells(r, 4).Value = .Value & ",newsletter" '***here*** 


nextr: 
Next r 

Application.Calculation = xlCalculationAutomatic 
Application.ScreenUpdating = True 
End Sub 

Если я использую следующий на линии, отмеченной здесь:

Cells(r,4) = "Y" 

Он работает, поэтому, я думаю, я сделал свое приложение неправильно?

+1

В линии 'Cells (г, 4) .Value = .Value & " бюллетень "'" .Value" есть за что ? Я имею в виду значение чего. –

+1

Я идиот! Это работает: Cells (r, 4) .Value = Cells (r, 4) .Value & ", newsletter" – finisterre

ответ

0

Просто прописать ответ и форматировать его красиво:

Option Explicit 

Sub macro1() 
Dim p As Double 
Dim LR As Long 
Dim r As Long 

Application.ScreenUpdating = False 
Application.Calculation = xlCalculationManual 

LR = ActiveSheet.Cells(ActiveSheet.Rows.Count, "C").End(xlUp).Row 

For r = 2 To LR 
    p = Application.Match(Cells(r, 3), Sheets("Input").Range("C:C"), 0) 
    If Not IsError(p) Then 
     ActiveSheet.Cells(r, 4).Value = ActiveSheet.Cells(r, 4).Value & ",newsletter" '***here*** 
    End If 
Next r 

Application.Calculation = xlCalculationAutomatic 
Application.ScreenUpdating = True 

End Sub 
+0

Просто попробовал это. Это не работает. – finisterre

Смежные вопросы