Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Несколько условий для строения массива
 
Здравствуйте, скажите пожалуйста как скрипту задать несколько условий?  
 
Вот код:  
 
Private Sub Недели()  
Dim a(), i&, bb&, cc&, dd&, ee&, ff&, gg&  
a = Sheets("Практики из плана").UsedRange.Value  
ReDim b(1 To 5, 1 To 2)  
For i = 3 To UBound(a)  
Select Case a(i, 2)  
Case 6  
bb = bb + 1: b(bb, 1) = a(i, 5): b(bb, 2) = a  
End Select  
 
Next  
[g34].Resize(bb, 1) = b
End Sub  
 
в нем условие если в столбце 2 есть значение "6" то записать его, как задать к примеру еще и значение от 1 до 9 с учетом если строить что то типа  
 
Private Sub Недели()  
Dim a(), i&, bb&, cc&, dd&, ee&, ff&, gg&  
a = Sheets("План").UsedRange.Value  
ReDim b(1 To 65, 1 To 2)  
ReDim c(1 To 65, 1 To 2)  
ReDim d(1 To 65, 1 To 2)  
ReDim e(1 To 65, 1 To 2)  
ReDim f(1 To 65, 1 To 2)  
ReDim g(1 To 65, 1 To 2)  
ReDim h(1 To 65, 1 To 2)  
ReDim n(1 To 65, 1 To 2)  
ReDim o(1 To 65, 1 To 2)  
For i = 6 To UBound(a)  
Select Case a(i, 2)  
Case 1  
bb = bb + 1: b(bb, 1) = a(i, 2): b(bb, 2) = a(i, 3)  
Case 2  
cc = cc + 1: c(cc, 1) = a(i, 2): c(cc, 2) = a(i, 3)  
Case 3  
dd = dd + 1: d(dd, 1) = a(i, 2): d(dd, 2) = a(i, 3)  
Case 4  
ee = ee + 1: e(ee, 1) = a(i, 2): e(ee, 2) = a(i, 3)  
Case 5  
ff = ff + 1: f(ff, 1) = a(i, 2): f(ff, 2) = a(i, 3)  
Case 6  
gg = gg + 1: g(gg, 1) = a(i, 2): g(gg, 2) = a(i, 3)  
Case 7  
hh = hh + 1: h(hh, 1) = a(i, 2): h(hh, 2) = a(i, 3)  
Case 8  
nn = nn + 1: n(nn, 1) = a(i, 2): n(nn, 2) = a(i, 3)  
Case 9  
oo = oo + 1: o(oo, 1) = a(i, 2): o(oo, 2) = a(i, 3)  
End Select  
 
Next  
[b8].Resize(bb, 2) = b
[b8].Offset(bb).Resize(cc, 2) = c
[b8].Offset(bb + cc).Resize(dd, 2) = d
[b8].Offset(bb + cc + dd).Resize(ee, 2) = e
[b8].Offset(bb + cc + dd + ee).Resize(ff, 2) = f
[b8].Offset(bb + cc + dd + ee + ff).Resize(gg, 2) = g
[b8].Offset(bb + cc + dd + ee + ff + gg).Resize(hh, 2) = h
[b8].Offset(bb + cc + dd + ee + ff + gg + hh).Resize(nn, 2) = n
[b8].Offset(bb + cc + dd + ee + ff + gg + hh + nn).Resize(oo, 2) = o
 
End Sub  
 
получается если к примеру не будет числа 3 в столюце то запись массивов прекратится с ошибкой хоть и если будет массивы под номером 4.
ВБА Цикл, добовлении в ячейку данные + дублирование части массива
 
Здравствуйте, помогите со скриптом, на листе "Приложение к диплому (оборот)" есть кнопка заполняет все верно но нужно както в этот цикл добавть еще одну задачу, заключатся должна в следующем вот в этом коде она записывает с последнего столбца массивы из листа "План", как сделать так чтобы она дублировала строку в массиве и добовляла в конец строки "(КР)" какую строку дублировать она должна смотреть есть ли данные в столбце 8 листа "План".  
 
Вот к примеру:  
 
Прикладная механика  
Программирование микропроцессорных устройств  
Электротехника и электропривод  
Элементы автоматики  
Материаловедение  
 
запись выгледит так но в столце 8 в строчке с прекладной миханикой стоит значение и запись должна выглядеть так:  
 
Прикладная механика  
Прикладная механика (КР)  
Программирование микропроцессорных устройств  
Электротехника и электропривод  
Элементы автоматики  
Материаловедение  
 
как такое реализовать подскажите пожалуйста.  
 
 
http://narod.ru/disk/54044099001.cd366ccb045f26d0e3d4da16757f17fb/%D0%9A%D0%B7-611.rar.html
Функция ВПР путем VBA с возможностью выбора определенных данных
 
Здравствуйте,  помогите пожалуйста со скриптом, задача похожа на ВПР но ВПР с ней до конца не справится) в общем нужно чтобы  последняя одинаковая в строке ячейка  записывала данные с этого столбца в зависимости названия строки, ну по порядку.    
 
В этом файле есть несколько листов, нужно чтобы по нажатию кнопки или еще как то, было заполнение оценок в листе «Приложение к диплому (оборот)» заполнятся должны следующим образом: К примеру, будет кнопка.    
 
Нажимаем на кнопку она смотрит что стоит в ячейке B4 листа «Приложение к диплому (титул)» ну там где фамилии. После чего выделяет для себя на листе «Оценки» строчку с этой фамилией, ну принцип ВПР, потом она уже начинает сверять данные «Приложения к диплому (оборот)» с «Оценками» к примеру если видит первая строчка «Физическая культура» то на листе оценки ищет в строке все ячейки с данными «Физическая культура» и выбирает из них последний и. д.    
 
 
 
http://narod.ru/disk/53373497001.031956762747e4081509c8c6ab71d267/Pril1.rar.html
Поиск тем на форуме
 
Здравствуйте, а скажите пожалуйста где я могу найти все свои темы на форуме? поском только некоторые получилось, а те которые нужны немогу найти(
Запись массивов в строку
 
Здравствуйте вот есть код:  
 
Private Sub CommandButton1_Click()  
Dim a(), i As Byte, ii As Long, iii As Long, x As Byte  
Dim oDict As Object, cs As Double  
 
Set oDict = CreateObject("Scripting.Dictionary")  
oDict.CompareMode = vbTextCompare  
 
a = Sheets("Лист1").UsedRange.Value  
 
 
For i = 2 To 120 Step 12  
ReDim b(1 To 12, 1 To 1)  
iii = 0  
x = x + 1  
For ii = 6 To UBound(a)  
If Len(a(ii, 68)) > 0 Then  
If InStr(a(ii, 4) & a(ii, 3), x) Then  
iii = iii + 1  
b(iii, 1) = a(ii, 2)  
Else  
End If  
Else  
End If  
Next  
Cells(2, i).Resize(12, 1) = b  
Next  
End Sub  
 
Вот собственно проблема: Этот скрипт берет из другого листа массив разбивая его на несколько частей, но это не важно, записывает его в первую строку листа но в столбец эти куски массива, скажите пожалуйста как сделать чтобы эти массивы записывались в строчку?
Код без картинки
 
Здраствуйте,  вот у меня есть кнопка в которой скрипт, служит ждя заполнения неких ячеек по нажатию, скажите пожалуйста куда записать скрипт чтобы кнопки небыло, работать начинал он на автомате.
Возможности Resize
 
Здравствуйте, подскажите пожалуйста вот у меня есть часть кода:  
 
[b8].Resize(31, 2) = b
[b38].Resize(10, 2) = c
[b45].Resize(16, 2) = d
[b51].Resize(10, 2) = e
[b56].Resize(10, 2) = f
[b62].Resize(10, 2) = g
 
Записывает каждый массив начиная с определенной ячейки, возможно изменить этот код так, чтобы запись массивов шла очередно т. е. под пред идущий массив, в случае если в первом массиве окажется меньше строк то при работе этого скрипта должны образоваться между строк пробелы что крайне непозволительно.  
 
Если нужен весь код то вот:  
 
Private Sub CommandButton1_Click()  
Dim a(), i&, bb&, cc&, dd&, ee&, ff&, gg&  
a = Sheets("Ïëàí").UsedRange.Value  
ReDim b(1 To 65, 1 To 2)  
ReDim c(1 To 65, 1 To 2)  
ReDim d(1 To 65, 1 To 2)  
ReDim e(1 To 65, 1 To 2)  
ReDim f(1 To 65, 1 To 2)  
ReDim g(1 To 65, 1 To 2)  
For i = 6 To UBound(a)  
Select Case a(i, 183)  
Case 1  
bb = bb + 1: b(bb, 1) = a(i, 2): b(bb, 2) = a(i, 7)  
Case 2  
cc = cc + 1: c(cc, 1) = a(i, 2): c(cc, 2) = a(i, 7)  
Case 3  
dd = dd + 1: d(dd, 1) = a(i, 2): d(dd, 2) = a(i, 7)  
Case 4  
ee = ee + 1: e(ee, 1) = a(i, 2): e(ee, 2) = a(i, 7)  
Case 5  
ff = ff + 1: f(ff, 1) = a(i, 2): f(ff, 2) = a(i, 7)  
Case 6  
gg = gg + 1: g(gg, 1) = a(i, 2): g(gg, 2) = a(i, 7)  
End Select  
 
Next  
[b8].Resize(35, 2) = b
[b32].Resize(30, 2) = c
[b38].Resize(30, 2) = d
[b43].Resize(21, 2) = e
[b57].Resize(10, 2) = f
[b62].Resize(10, 2) = g
   
   
End Sub
Построение списка по нумерации другой ячейки.
 
Доброй ночи) подскажите пожалуйста в чем проблема есть документ в нем 3 листа, на первом листе таблица для заполнения и 2 кнопки, на двух других данные для заполнения, там вот есть кнопка "Не работает" заполняет криво и ошибку выдает, скажите пожалуйста как ее устранить чтобы все работало как при нажатии кнопки "заполнить карту"  
 
 
http://narod.ru/disk/49106410001.19c4ed61bcc7d12318165c9d2136e835/КЗ-61%20к.xls.html
[ Закрыто] Проблемы в работе цикла [ЗАКРЫТА. Дубль темы]
 
Здравствуйте, помогите пожалуйста разобраться с проблемой, на одном из листов у меня таблица с дисциплинами, на другом "форма заполнения" взяв данные с таблицы.  
 
В общем в первом листе есть столбик 182 в нем хранится некая последовательность заполнения листа 2, заполнятся должны дисциплины в колонку на втором листе, эх не получится у меня все понятно объяснить) ну в крации, все работает по кнопке, вот код:  
 
Private Sub CommandButton1_Click()  
Dim a(), i As Byte, ii As Long, iii As Long, x As Byte  
Dim oDict As Object, cs As Double  
 
Set oDict = CreateObject("Scripting.Dictionary")  
oDict.CompareMode = vbTextCompare  
 
a = Sheets("План").UsedRange.Value  
 
 
For i = 8 To 67 Step 66  
ReDim b(1 To 66, 1 To 1)  
ReDim bb(1 To 66, 1 To 1)  
iii = 0  
x = x + 1  
For ii = 6 To UBound(a)  
If Len(a(ii, 182)) = 1 Then  
 
iii = iii + 1  
b(iii, 1) = a(ii, 2)  
 
'=====================  
cs = a(ii, 7)  
If cs <> Fix(cs) Then  
 
 
 
'последний  
bb(iii, 1) = a(ii, 7) - Fix(cs) * (oDict.Item(Trim(a(ii, 2))) - 1)  
Else  
'не последний  
bb(iii, 1) = Fix(cs)  
End If  
 
Else  
bb(iii, 1) = cs  
End If  
'=====================  
 
 
 
Next  
Cells(i, 2).Resize(66, 1) = b  
Cells(i, 3).Resize(66, 1) = bb  
Next  
 
 
End Sub  
 
Указываю как я понимаю If Len(a(ii, 182)) = 1 Then если в столбце 182 какая либо ячейка = 1 то записать некоторые части этой строки, но к сожалению он записывает абсолютно все по очереди, а нужно с начало все дисциплины под номером 1 и р. д. до 6  
 
вот файлик мои он думаю объясмнит проблему понятнее) http://narod.ru/disk/49069436001.84b882981f3251a367b5bcc6ca7ffa44/K612.rar.html
VBA Цикл. Заполнение приложения из карточки.
 
Здравствуйте, помогите пожалуйста написать код, нужно также что то вроде цикла построить, при нажатии кнопки заполнялось "приложение" информацию для этого нужно брать из "карточки".  
 
В "приложении" дисциплины повторятся не могут, следовательно если в "карточки" несколько в столбце попадаются то запись должна идти только одного.  
 
Еще нужно чтобы часы считал сложением всех повторяющихся дисциплин:)  
 
А Оценка ставилась по последнему семестру, ну если идет несколько дисциплин подряд по семестрам и у всех разные оценки, то запись в "приложение" шла последнего семестра.  
 
Помогите пожалуйста:)  
 
В файле нагляднее будет и понятнее чем что я описал:) http://files.mail.ru/R9TWS6
Составление таблицы по данным таблицы из другого листа.
 
Здраствуйте, помогите пожалуйста решить задачу, в файле будет думаю все понятнее но так в крации на словах, в этом документе 2 листа один с информацией другой якобы с таблицей, на первом лесте сама таблица с кнопкой, при нажатии на которою должно произойти якобы сканирование "листа2" с последующем заполнением таблици на "листе1", кнопка кабы должна понять какое значение стоит в какой либо строке и подставить определенную ячейку в таблицу, значение в виде цифр от 1 до 9, но и тут же есть один момент, строчка которая должна в нескольких ячейках таблици записатся в ней значение "123456" в общем нужно чтобы кнока понимала как будто в этой ячейке 6 разных чисел и соответственно записала некую ячейку в ячейки таблици "листа1"
ошибка в автозаполнение вормулы ЦЕЛОЕ
 
Всем добрый день, сталкнулся с такой вот проблемой, у меня есть 2 листа на одном данные на другом якобы форма которая будет заполнятся но нажатию кнопки, формула какбы нормально работает, но когда заполняеешь ячейку нажатием кнопки, в ячейки образуется ошибка, помогите исправить.
Перенос текста
 
Здраствуйте, помоги пожалуста решить проблему переноса текста невмещающегося в одну ячейку.  
В ф вайле есть подчеркнутый текст в ячеку не умещается, вак сделать чтобы остальная часть текста прыгнула на нижнюю подчеркнутую ячейку.
Результат деления - в пять ячеек.
 
Всем доброго времени суток, сталкнулся с такой вот проблемой, на примере будет все понятнее, делю я число 408 на 5, результат мне нужно поместить в 5 разных ячеек целыми числами, чтобы после сумирования этих 5-ти ячеек результат был 408, деление должно происходить следующим образом: в первых 4 ячейках дроби отсекатся и в последней ячейки записатся в сумме с результатом 5-й ячейки.
Автоматизация Excel документа
 
Здраствуйте, скажите пожалуйста каким способом лучше автоматизирвать документ, желательно по подробнее, в этой области не спуц) ну выглядит все следующим образом, есть один документ в нем 2 листа на первом таблица и на втором, нужно чтобы первая таблица заполнялась данными со второго листа, после чего все это печатается. я прикрепляю файл в котором все это по подробнее. Нужно чтобы первая таблица смотрела со второй в каком семестре та и или иная десциплина и уже судя по тем данным строила какую нужно таблицу.  
 
Нужно чтобы в столце количество часов листа 1 брало из листа СКМТ столбца ГОС, и делила    
Виды  
контр./сем.  
должны быть целые числа чтобы остаток приписывался к последнему семестру.  
<EM><STRONG>Файл удален</STRONG> - велик размер - [<STRONG>МОДЕРАТОРЫ</STRONG>]</EM>
Страницы: 1
Наверх