powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / цикл
10 сообщений из 10, страница 1 из 1
цикл
    #36034728
qasd1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как для этого процеса цикл можно создовать?

Код: plaintext
1.
2.
Worksheets("LIST1").Range("c14:h14").Copy
Worksheets("LIST2").Range("C4").PasteSpecial , , , True

Я делаю так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
 Private Sub CommandButton1_Click()
    Dim byteI As Byte, intY As Integer, douK As Double
    Sheets("LIST2").Select
    douK =  0 
    For byteI =  14  To  25 
    intY = Abs(Sheets("LIST1").Range("C" & byteI))

   Worksheets("LIST1").Range("C" & byteI:"H" & byteI).Copy
   Worksheets("LIST2").Range("C4").PasteSpecial , , , True

    Next byteI
 End Sub

Понимаю что, что-то не так, но, незнаю что.
Помогите пожалуйста как можн создовать такой цикл.
...
Рейтинг: 0 / 0
цикл
    #36034828
Korcar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что не работает? ошибку где-то пишет? - это первое

и второе: что и куда надо скопировать?
строки с 14 по 25 в строку 4?
или ячейки строки 14 в строку 4?

вообщем, тьма вопросов
...
Рейтинг: 0 / 0
цикл
    #36034942
qasd1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Надо из лист1 каждую строку начиная 14-го по 25 (C14:H14,C15:H15,...C25-H25)
копировать в лист2 столбец С (С4,c5,...C9)

intY = Abs(Sheets("LIST1").Range("C" & byteI))-данный момент ни какой рол не играеть.
...
Рейтинг: 0 / 0
цикл
    #36035165
Korcar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
Worksheets("LIST1").Range("C"+CStr(byteI)":H"+Cstr(byteI)).Copy
так попробуй
...
Рейтинг: 0 / 0
цикл
    #36035825
qasd1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот использую этот макрос:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Sub Makros()
Dim byteI As Byte, intY As Integer, douK As Double
Sheets("LIST2").Select
douK =  0 
For byteI =  14  To  25 
    Worksheets("LIST1").Range("C" & byteI & ":H" & byteI).Copy
    Worksheets("LIST2").Range("C4").PasteSpecial , , , True
Next byteI
End Sub

Сейчас мне надо в цикле для каждого строка вычислить F и J.

Для F:
=D4-(ВПР(D4;List3!$A$2:$C$32;3;1))*(E4-20)

Для J:
=ЕСЛИ(C4=0;0;ИНДЕКС(List4!$A$1:$K$1300;ПОИСКПОЗ(LIST2!$C4;List4!$A$1:$A$1300;0);ПОИСКПОЗ(LIST2!$B4;List4!$A$1:$K$1;0)))

Если эти выражение использувать в Excel в ячейках как функция все нормально работает, но эти выражение используват в макрос не получается.
...
Рейтинг: 0 / 0
цикл
    #36037019
Korcar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
потому что в VBA нет команд на русском. перепиши названия функций на англоязычные аналоги и все заработает)
...
Рейтинг: 0 / 0
цикл
    #36037253
qasd1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Korcarпотому что в VBA нет команд на русском. перепиши названия функций на англоязычные аналоги и все заработает)

Нет, что-то не так делаю, не получается у меня.
...
Рейтинг: 0 / 0
цикл
    #36037775
qasd1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПОМОГИТЕ ПОЖАЛУЙСТА.
...
Рейтинг: 0 / 0
цикл
    #36037819
Сергей06
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qasd1,

"=R[3]C[3]-(VLOOKUP(R[3]C[3],List3!R2C1:R32C3,3,1))*(R[3]C[4]-20)"

"=IF(R[2]C[2]=0,0,INDEX(List4!R1C1:R1300C11,MATCH(LIST2!R[2]C3,List4!R1C1:R1300C1,0),MATCH(LIST2!R[2]C2,List4!R1C1:R1C11,0)))"

Это формулы в английском варианте.
Делается все это просто: включаешь марорекордер, и заносишь в ячейку формулу. В макросе записывается формула в английском варианте
...
Рейтинг: 0 / 0
цикл
    #36037896
qasd1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей06qasd1,

"=R[3]C[3]-(VLOOKUP(R[3]C[3],List3!R2C1:R32C3,3,1))*(R[3]C[4]-20)"

"=IF(R[2]C[2]=0,0,INDEX(List4!R1C1:R1300C11,MATCH(LIST2!R[2]C3,List4!R1C1:R1300C1,0),MATCH(LIST2!R[2]C2,List4!R1C1:R1C11,0)))"

Это формулы в английском варианте.
Делается все это просто: включаешь марорекордер, и заносишь в ячейку формулу. В макросе записывается формула в английском варианте

Сергей06, у меня не получается. Покажите пожалуйста на моем примере (X2.rar), если не трудно.
Уже не понимаю что не так делаю.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / цикл
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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