1

Тема: VBA: Запись результатов на другой лист

Добрый день.
У меня имеется макрос, результаты которог выводятся в столбец 1 на том же листе. А что прописать в макросе, чтобы результаты выводились на другой лист?
Вот код макроса:

Public Sub Counter()
Dim CounterCell As Range, i As Long, r As Range, dest As Range
Set CounterCell = ActiveSheet.Range("A1")
CounterCell.Value = 2674.96

Application.ScreenUpdating = False


i = 1372
Do While CounterCell.Value < 10000#
    CounterCell.Value = CounterCell.Value + 0.01
    If [MAX(BN6:BN1018)] > 4 Then
    Cells(i, 1) = [A1]
    i = i + 1
    Else
    If [MAX(EF6:EF1018)] > 4 Then
    Cells(i, 1) = [A1]
    End If
    End If
Loop

Application.ScreenUpdating = True

End Sub

Надо, чтобы результааты выводились не в первый столбец этого же листа, а на другой лист с именем Лист 2

2 (изменено: alexii, 2018-09-29 16:44:01)

Re: VBA: Запись результатов на другой лист

alkhimovmet пишет:

результааты выводились не в первый столбец этого же листа

Результаты у Вас выводятся не на «этот же лист», а на активный рабочий лист, работает лишь потому, что активный рабочий лист у Вас не меняется в процессе.

alkhimovmet пишет:

а на другой лист с именем Лист 2

Видимо, речь про это (не проверялось):

ThisWorkbook.Worksheets.Item("Лист 2").Cells(i, 1).Value = [A1]

3

Re: VBA: Запись результатов на другой лист

Sheets("Лист2").Cells(i, 1) = Sheets("Sheet1").[A1]

Написал так и работает, но меня терзают смутные сомнения , что это не совсем так правильно. Может подскажите?

4

Re: VBA: Запись результатов на другой лист

Я бы написал так:

ThisWorkbook.Worksheets.Item("Лист 2").Cells(i, 1).Value = ThisWorkbook.Worksheets.Item("Sheet1").Range("A1").Value

5

Re: VBA: Запись результатов на другой лист

Спасибо огромное! Непременно заменю

6

Re: VBA: Запись результатов на другой лист

Уважаемый alexii! Еще раз Вам спасибо. Вставил, как Вы рекомендовали, все работает, сбрев нет. Просто супер!!!