Как написать несколько строк / ячеек - PullRequest
0 голосов
/ 07 февраля 2019

Я пытаюсь написать циклический макрос для записи текста в несколько последовательных строк (скажем, 1000) из моей активной ячейки.Я вставил то, что я уже пробовал ниже ... Я думаю, что я мог бы быть близко, но я явно упускаю некоторые важные детали.Может кто-нибудь помочь?

Sub firstloop()
    Dim Total As Long
    Dim Count As Long
    Total = 0
    For Count = 1 To 1000
        Count = Total + Count
    ActiveCell = "Test"
    ActiveCell.Offset(1, 0) = ActiveCell
    Next Count
End Sub

Ответы [ 3 ]

0 голосов
/ 07 февраля 2019
Sub firstloop()

    Dim Count As Long
    Dim rng As Range
    Set rng = ActiveCell

    For Count = 1 To 1000
        rng.Offset(Count - 1, 0) = "Test"
    Next Count
End Sub
0 голосов
/ 07 февраля 2019

Значения 1000

Cells(1) используется, чтобы избежать неожиданного результата, если выбран диапазон с более чем 1 ячейкой.

ActiveCell исключен

Sub Values1000()

    Const strText As String = "Text"
    Const cNumber As Long = 1000

    Selection.Cells(1).Offset(1).Resize(cNumber) = strText

End Sub

ActiveCell включен

Sub Values1000()

    Const strText As String = "Text"
    Const cNumber As Long = 1000

    Selection.Cells(1).Resize(cNumber) = strText

End Sub

Или просто замените константы их значениями, и вы получите однострочный код.

0 голосов
/ 07 февраля 2019

Избавьтесь от двух ActiveCell и используйте:

Sub firstloop()

    Dim rng as range
    Set rng = selection

    Dim Count As Long
    For Count = 1 To 1000
        rng.offset(count - 1,0).Value = "Test"
    Next Count
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...