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

Вход

Регистрация

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

 

= Мир MS Excel/Написать макрос - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин  
Мир MS Excel » Работа и общение » Работа / Фриланс » Написать макрос
Написать макрос
lovetoe Дата: Понедельник, 16.06.2014, 21:37 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
В этой теме http://www.excelworld.ru/forum/10-11388-1 я написал что мне нужно.
Готов заплатить
 
Ответить
СообщениеВ этой теме http://www.excelworld.ru/forum/10-11388-1 я написал что мне нужно.
Готов заплатить

Автор - lovetoe
Дата добавления - 16.06.2014 в 21:37
Dimanans Дата: Вторник, 17.06.2014, 02:15 | Сообщение № 2
Группа: Заблокированные
Ранг: Прохожий
Сообщений: 2
Репутация: 2 ±
Замечаний: 40% ±

Excel 2010
Dimanans@gmail.com готов взяться. В сообщении напишите бюджет проекта.
 
Ответить
СообщениеDimanans@gmail.com готов взяться. В сообщении напишите бюджет проекта.

Автор - Dimanans
Дата добавления - 17.06.2014 в 02:15
doober Дата: Вторник, 17.06.2014, 03:29 | Сообщение № 3
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
Готов заплатить

За коменты возьму.
У вас смесь английских и русских букв.
[vba]
Код
Sub Копирование()
     Dim Sh As Worksheet, Sh1 As Worksheet, Вход, _
         Curent_Letter As Integer, Letter As String, Curent_Row As Long
     Set Sh = ThisWorkbook.Worksheets("Лист1")
     Set Sh1 = ThisWorkbook.Worksheets("Лист2")
     ABC = Array("", "А", "В", "С")
     col = Array(0, 2, 3, 4, 6, 7, 8, 9, 13, 13)
     lLastRowMY = Sh1.Cells(Sh1.Rows.Count, "B").End(xlUp).Row
     Вход = Sh1.Range("B4:J" & lLastRowMY)
     Curent_Letter = 1
     Curent_Row = 2
     With Sh
        For n = 1 To UBound(Вход)
             Letter = ABC(Curent_Letter)
             If Вход(n, 4) = "A" Then Вход(n, 4) = "А"
             If Вход(n, 4) = "B" Then Вход(n, 4) = "В"
             If Вход(n, 4) = "C" Then Вход(n, 4) = "С"
             If Вход(n, 4) <> Letter Then
                 n = n - 1
                 For i = 1 To UBound(col)
                     .Cells(Curent_Row, col(i)) = "-"
                 Next
                 .Cells(Curent_Row, 6) = Letter
                 Curent_Row = Curent_Row + 1
             Else
                 For i = 1 To UBound(col)
                     .Cells(Curent_Row, col(i)) = Вход(n, i)
                 Next
                 Curent_Row = Curent_Row + 1
             End If
             Curent_Letter = Curent_Letter + 1
             Curent_Letter = IIf(Curent_Letter < 4, Curent_Letter, 1)
         Next
     End With

End Sub
[/vba]


 
Ответить
Сообщение
Готов заплатить

За коменты возьму.
У вас смесь английских и русских букв.
[vba]
Код
Sub Копирование()
     Dim Sh As Worksheet, Sh1 As Worksheet, Вход, _
         Curent_Letter As Integer, Letter As String, Curent_Row As Long
     Set Sh = ThisWorkbook.Worksheets("Лист1")
     Set Sh1 = ThisWorkbook.Worksheets("Лист2")
     ABC = Array("", "А", "В", "С")
     col = Array(0, 2, 3, 4, 6, 7, 8, 9, 13, 13)
     lLastRowMY = Sh1.Cells(Sh1.Rows.Count, "B").End(xlUp).Row
     Вход = Sh1.Range("B4:J" & lLastRowMY)
     Curent_Letter = 1
     Curent_Row = 2
     With Sh
        For n = 1 To UBound(Вход)
             Letter = ABC(Curent_Letter)
             If Вход(n, 4) = "A" Then Вход(n, 4) = "А"
             If Вход(n, 4) = "B" Then Вход(n, 4) = "В"
             If Вход(n, 4) = "C" Then Вход(n, 4) = "С"
             If Вход(n, 4) <> Letter Then
                 n = n - 1
                 For i = 1 To UBound(col)
                     .Cells(Curent_Row, col(i)) = "-"
                 Next
                 .Cells(Curent_Row, 6) = Letter
                 Curent_Row = Curent_Row + 1
             Else
                 For i = 1 To UBound(col)
                     .Cells(Curent_Row, col(i)) = Вход(n, i)
                 Next
                 Curent_Row = Curent_Row + 1
             End If
             Curent_Letter = Curent_Letter + 1
             Curent_Letter = IIf(Curent_Letter < 4, Curent_Letter, 1)
         Next
     End With

End Sub
[/vba]

Автор - doober
Дата добавления - 17.06.2014 в 03:29
lovetoe Дата: Среда, 18.06.2014, 08:37 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
doober,
Отлично, спасибо.
 
Ответить
Сообщениеdoober,
Отлично, спасибо.

Автор - lovetoe
Дата добавления - 18.06.2014 в 08:37
Мир MS Excel » Работа и общение » Работа / Фриланс » Написать макрос
  • Страница 1 из 1
  • 1
Поиск:

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