powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / примитивная задача на циклы
11 сообщений из 11, страница 1 из 1
примитивная задача на циклы
    #34110458
-=nobody=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите плиз решить задачу с использоанием цикла

"Напишите процедуру поиска первой заполненой клетки на листе и запишите в нее символ * красного цвета"

Заранее боагодарен
...
Рейтинг: 0 / 0
примитивная задача на циклы
    #34110526
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Первая заполненная клетка на листе, где? в столбце в строке?

1:
For i = 1 To 128
a = ActiveCell.Value
If a <> "" Then
ActiveCell.Font.ColorIndex = 3
End If
If i = 128 Then
ActiveCell.Offset(1, -127).Select
i = 0
GoTo 1
Else
ActiveCell.Offset(0, 1).Select
End If
Next i

вот полукривой вариант
...
Рейтинг: 0 / 0
примитивная задача на циклы
    #34110552
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-=nobody=-

Забудьте о циклах, как о дурном сне:

Private Sub CommandButton1_Click()
With ThisWorkbook.Worksheets("Sheet1").Cells.Find("*")
.Value = "*"
.Font.ColorIndex = 3
End With
End Sub

Заметьте, здесь случайно дважды встречается символ "*".

VladConn
...
Рейтинг: 0 / 0
примитивная задача на циклы
    #34128649
-=nobody=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем. Вот только седня показал преподу 3 варианта решения, а мне сказали, что надо через цикл do while делать. Это вообще реально?
...
Рейтинг: 0 / 0
примитивная задача на циклы
    #34129187
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
while do или repeat until
...
Рейтинг: 0 / 0
примитивная задача на циклы
    #34129751
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladConn-=nobody=-

Забудьте о циклах, как о дурном сне:

Private Sub CommandButton1_Click()
With ThisWorkbook.Worksheets("Sheet1").Cells.Find("*")
.Value = "*"
.Font.ColorIndex = 3
End With
End Sub

Заметьте, здесь случайно дважды встречается символ "*".

VladConnЧитаем задание через слово?
"поиска первой заполненой клетки", а не заполеной значением "*".

-=nobody=-
Скажи преподу, что перебирая циклом ячейки можно искать нужную очень долго, а у листа есть полезное свойство - UsedRange. Соответственно без всяких поисков -
With ThisWorkbook.Worksheets("Sheet1").UsedRange.Cells(1,1)
.Value = "*"
.Font.ColorIndex = 3
End With

А если это всего лишь задача на использования циклов, то посоветуй ему включить фантазию и придумать что-то более другое, чтобы над ним не смеялись на форумах).
...
Рейтинг: 0 / 0
примитивная задача на циклы
    #34130445
sergyevg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
раз просит, уважь циклами:)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Sub Test()
Dim I As Long, J As Long, Flag As Boolean, UR As Range
Set UR = ThisWorkbook.Worksheets("Лист1").UsedRange
I =  1 : J =  1 : Flag = False
Do While I <= UR.Rows.Count
  Do While J <= UR.Columns.Count
    If UR.Cells(I, J).Value <> "" Then
      UR.Cells(I, J).Value = "*"
      UR.Cells(I, J).Font.ColorIndex =  3 
      Flag = True
      Exit Do
    End If
    J = J +  1 
  Loop
  If Flag Then Exit Do
  I = I +  1 
  J =  1 
Loop
End Sub 'Test
...
Рейтинг: 0 / 0
примитивная задача на циклы
    #34130763
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy,

Вы бы потрудились мой код прогнать хоть раз, прежде такое писать. Вы в курсе, что такое "wildcard"?

Мда...

VladConn
...
Рейтинг: 0 / 0
примитивная задача на циклы
    #34134359
-=nobody=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот у меня тут один неплохой вариант, но он почему-то не срабатывает(я процедуру по памяти восстанавливал). Мог бы кто-нибудь посмотреть в чем сдесь ошибка или данная версия неправильная в корне?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Sub test1()
Dim i, j As Integer
i =  1 
j =  1 
      Do While Cells(i, j) = ""
        i = i +  1 
        If j <  256  Then
           j = j +  1 
        Else
           j =  1 
           i = i +  1 
        End If
      Loop
  Cells(i, j) = "*"
  Cells(i, j).Font.ColorIndex =  3 
End Sub
...
Рейтинг: 0 / 0
примитивная задача на циклы
    #34134538
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почемы вы не указали тип переменной i ?
...
Рейтинг: 0 / 0
примитивная задача на циклы
    #34134962
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильную версию с циклами вам дал sergyevg Сравните его код и свой.
Без циклов: можете пользовать либо от Antonariy либо от меня .
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / примитивная задача на циклы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]