Страницы: 1
RSS
Макрос. Выполнение команд на МАС-е и на Win-e
 
Дано:
совсем простой макрос
Код
Sub Testing()
Dim kk, rr As Integer
Application.Wait Now + TimeSerial(0, 0, 1) 
   For kk = 1 To 10
      For rr = 1 To 32000
        Randomize
        Cells(rr, kk) = Int(Rnd() * 100)
      Next rr
   Next kk
MsgBox "0'k"
Range("A1: k32001").ClearContents
End Sub
и МАС и Win "понимают" все команды.
но выполняют по-разному.
Win - заполняет ячейки поочередно.
MAC - сначала всё просчитывает а потом "выплевывает" готовый результат.
что надо добавть/убрать или может как-то изменить код чтобы МАС тоже выдавал поячеечное решение ?
 
Может Мак просто быстрее работает?
попробуйте так:
Код
Sub Testing()
    Dim kk, rr As Integer, t
    t = Timer
       For kk = 1 To 10
          For rr = 1 To 32000
            Application.Wait Now + TimeSerial(0, 0, 0.1)
            Randomize
            Cells(rr, kk) = Int(Rnd() * 100)
          Next rr
       Next kk
    MsgBox "0'k" & Chr(10) & Timer - t & " cek"
    Range("A1: k32001").ClearContents
End Sub
 
Цитата
Михаил Витальевич С. написал:
Может Мак просто быстрее работает?
Стартовый макрос на Win-e работает быстрее чем на МАС-е.  
Ваш вариант проверялся только на МАС-е и немного "удивил" меня
 
думаю надо в конец цикла добавить doevents, а может и/или Application.screenupdate=true.
По вопросам из тем форума, личку не читаю.
 
БМВ, здравствуйте

Я с макросами на "вы" и через "пожалуйста"
Команда  doevents также как и screenupdate мною не освоены
Если нетрудно - напишите код полностью
 
Цитата
0mega написал:
чтобы МАС тоже выдавал поячеечное решение
0mega, можете пояснить, зачем это нужно?
 
Цитата
Pelena написал:
можете пояснить, зачем это нужно?
у меня тоже такой вопрос возник поначалу.
А потом подумал: "а какая мне разница"?
 
Елена здравствуйте ,
обычная бегущая строка
примерно так
Код
t1 = "Бегущая строка"
For nn = 1 To 14
[d4] = Left(t1, nn)
Изменено: 0mega - 04.08.2020 21:46:34
Страницы: 1
Наверх