Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/создание гирлянды из ячеек excel - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » создание гирлянды из ячеек excel (Макросы Sub)
создание гирлянды из ячеек excel
Ирина Дата: Воскресенье, 22.12.2013, 23:03 | Сообщение № 1
Группа: Гости
Здравствуйте, подскажите пожалуйста, как решить задачу: мне нужно создать гирлянду из 14 ячеек первой строки так, чтобы каждый цвет задерживался на3 секунды. Я стараюсь написать хотя бы просто изменение цветов, но excel выдает ошибку, однако я никак не могу понять, почему.
вот мои потуги)
[vba]
Код
For s = 0 To 256
Do Until s = 256
For t = 1 To 14
If t <= 14 Then
Cells(1, t + 1).colourindex = 8 + s
t = t + 1
Else
s = s + 1
Exit Do
End If
Loop
[/vba]
 
Ответить
СообщениеЗдравствуйте, подскажите пожалуйста, как решить задачу: мне нужно создать гирлянду из 14 ячеек первой строки так, чтобы каждый цвет задерживался на3 секунды. Я стараюсь написать хотя бы просто изменение цветов, но excel выдает ошибку, однако я никак не могу понять, почему.
вот мои потуги)
[vba]
Код
For s = 0 To 256
Do Until s = 256
For t = 1 To 14
If t <= 14 Then
Cells(1, t + 1).colourindex = 8 + s
t = t + 1
Else
s = s + 1
Exit Do
End If
Loop
[/vba]

Автор - Ирина
Дата добавления - 22.12.2013 в 23:03
Ирина Дата: Понедельник, 23.12.2013, 00:02 | Сообщение № 2
Группа: Гости
[vba]
Код
Dim sdvig As Integer, rasmer As Integer, vysota As Integer, kol As Integer, sh()
Private Sub Form_load()
Form1.ScaleMode = 3: AutoRedraw = True: DrawWidth = 3
sdvig = 70: rasmer = 50: vysota = 100: kol = 11
Me.Width = (sdvig / 2 + rasmer) * (kol) * VB.Screen.TwipsPerPixelX
ReDim sh(0 To kol)
For i = 0 To kol
Set sh(i) = Controls.Add("VB.Shape", "sh" & "i" & i, Form1)
sh(i).Top = vysota: sh(i).Left = i * sdvig + rasmer
sh(i).Width = rasmer: sh(i).Height = rasmer
sh(i).BackStyle = 1: sh(i).BorderStyle = 0
sh(i).BackColor = 0
sh(i).Shape = 3
sh(i).Visible = True
Next i
For i = 0 To kol - 1
Circle (i * sdvig + rasmer / 2 + sdvig / 2 + rasmer, vysota), sdvig / 2, , 0, 3.2, 0.5
Next i

End Sub
Private Sub Form_Click()
For i = 0 To kol
If i <= kol \ 2 Then
sh(i).BackColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255)
Else
sh(i).BackColor = 0
End If
Next i
End Sub
Private Sub Form_DblClick()
For i = 0 To kol
If i > kol \ 2 Then
sh(i).BackColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255)
Else
sh(i).BackColor = 0
End If
Next i
End Sub
[/vba]
вот что я еще придумала, но куда здесь сунуть таймер, я вообще не знаю
 
Ответить
Сообщение[vba]
Код
Dim sdvig As Integer, rasmer As Integer, vysota As Integer, kol As Integer, sh()
Private Sub Form_load()
Form1.ScaleMode = 3: AutoRedraw = True: DrawWidth = 3
sdvig = 70: rasmer = 50: vysota = 100: kol = 11
Me.Width = (sdvig / 2 + rasmer) * (kol) * VB.Screen.TwipsPerPixelX
ReDim sh(0 To kol)
For i = 0 To kol
Set sh(i) = Controls.Add("VB.Shape", "sh" & "i" & i, Form1)
sh(i).Top = vysota: sh(i).Left = i * sdvig + rasmer
sh(i).Width = rasmer: sh(i).Height = rasmer
sh(i).BackStyle = 1: sh(i).BorderStyle = 0
sh(i).BackColor = 0
sh(i).Shape = 3
sh(i).Visible = True
Next i
For i = 0 To kol - 1
Circle (i * sdvig + rasmer / 2 + sdvig / 2 + rasmer, vysota), sdvig / 2, , 0, 3.2, 0.5
Next i

End Sub
Private Sub Form_Click()
For i = 0 To kol
If i <= kol \ 2 Then
sh(i).BackColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255)
Else
sh(i).BackColor = 0
End If
Next i
End Sub
Private Sub Form_DblClick()
For i = 0 To kol
If i > kol \ 2 Then
sh(i).BackColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255)
Else
sh(i).BackColor = 0
End If
Next i
End Sub
[/vba]
вот что я еще придумала, но куда здесь сунуть таймер, я вообще не знаю

Автор - Ирина
Дата добавления - 23.12.2013 в 00:02
wild_pig Дата: Понедельник, 23.12.2013, 00:16 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 517
Репутация: 97 ±
Замечаний: 0% ±

2003, 2013
вариант
К сообщению приложен файл: 7246173.xls (29.0 Kb)


Сообщение отредактировал wild_pig - Понедельник, 23.12.2013, 00:31
 
Ответить
Сообщениевариант

Автор - wild_pig
Дата добавления - 23.12.2013 в 00:16
AndreTM Дата: Понедельник, 23.12.2013, 01:15 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
Ещё вариант...
[vba]
Код
Sub testColors()
        
      ' очищаем место
      [a1].Resize(1, 14).Clear
        
      nColorIndex = 0
      Do
      ' сдвигаем 13 ячеек первой строки вправо на одну
          Cells(1, 1).Resize(, 13).Copy Cells(1, 1).Offset(, 1)
      ' рассчитываем новый цвет
          nColorIndex = (nColorIndex + 1) Mod 57
      ' заносим цвет в первую ячейку
          Cells(1, 1).Interior.ColorIndex = nColorIndex
      ' ждем по времени (разрешив остальные события)
          t = Timer
          Do While (Timer - t) <= 3 ' секунды
              DoEvents
          Loop
      Loop ' Until press any formal key - тыркните любую значимую клавишу, букву там, или цифру...
        
End Sub
[/vba][sub]


Skype: andre.tm.007
Donate: Qiwi: 9517375010


Сообщение отредактировал AndreTM - Понедельник, 23.12.2013, 01:16
 
Ответить
СообщениеЕщё вариант...
[vba]
Код
Sub testColors()
        
      ' очищаем место
      [a1].Resize(1, 14).Clear
        
      nColorIndex = 0
      Do
      ' сдвигаем 13 ячеек первой строки вправо на одну
          Cells(1, 1).Resize(, 13).Copy Cells(1, 1).Offset(, 1)
      ' рассчитываем новый цвет
          nColorIndex = (nColorIndex + 1) Mod 57
      ' заносим цвет в первую ячейку
          Cells(1, 1).Interior.ColorIndex = nColorIndex
      ' ждем по времени (разрешив остальные события)
          t = Timer
          Do While (Timer - t) <= 3 ' секунды
              DoEvents
          Loop
      Loop ' Until press any formal key - тыркните любую значимую клавишу, букву там, или цифру...
        
End Sub
[/vba][sub]

Автор - AndreTM
Дата добавления - 23.12.2013 в 01:15
Мир MS Excel » Вопросы и решения » Вопросы по VBA » создание гирлянды из ячеек excel (Макросы Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!