|
Нужен человек, готовый ставить задачки по массивам VBA
|
|||
---|---|---|---|
#18+
Здравствуйте! В университете, к сожалению, не преподавали VBA. Вынужден самостоятельно его изучать для себя любимого. Хотелось бы найти человека (несколько человек), который (-ые) ставил (-и) бы задачки от самой простой к сложным. И после проверял выложенный в этом топике ответ. Если неправильный ход мыслей, то писал тут об этом. Если можно как то упростить код, то писал: "А попробуй-ка использовать функцию "Тили - тили, трали-вали"". Думаю, тем самым, убьём много зайцев, причём не только моих. Движение вперёд... ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2018, 10:53 |
|
Нужен человек, готовый ставить задачки по массивам VBA
|
|||
---|---|---|---|
#18+
Практически каждая тема тут - это вполне реальная задача у вполне конкретного человека. Количество тем, где задача связана с массивами - гораздо больше одной... берёшь любую такую тему, читаешь по одному посту (не заглядывая вперёд), и на каждом шаге пытаешься решить поставленную задачу, используя все прочитанные сведения плюс свои знания. И потом сравниваешь свои предыдущие решения с текущим и с теми решениями, которые предлагают участники. Заодно порешаешь и проблемы, с массивами не связанные - тоже полезно. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2018, 11:28 |
|
Нужен человек, готовый ставить задачки по массивам VBA
|
|||
---|---|---|---|
#18+
AkinaПрактически каждая тема тут - это вполне реальная задача у вполне конкретного человека. Количество тем, где задача связана с массивами - гораздо больше одной... берёшь любую такую тему, читаешь по одному посту (не заглядывая вперёд), и на каждом шаге пытаешься решить поставленную задачу, используя все прочитанные сведения плюс свои знания. И потом сравниваешь свои предыдущие решения с текущим и с теми решениями, которые предлагают участники. Заодно порешаешь и проблемы, с массивами не связанные - тоже полезно. В Вашей методике есть один большой минус. Когда что-то начинаешь изучать у тебя сначала мало знаний, потом чуть больше, больше,...и максимум минус эн. Т.е. идёт постепенное накопление и увеличение. По предложенному Вами сценарию развития увеличение знаний происходит не постепенно, а где-то может скакнуть мощно, а где-то вообще и не скакнуть. Я хочу сказать, что приятней потихоньку спотыкаться, по крайней мере мне, и вставать, нежели споткнуться 100 раз перекатиться, а завтра даже не споткнуться, вот о чём я. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2018, 11:41 |
|
Нужен человек, готовый ставить задачки по массивам VBA
|
|||
---|---|---|---|
#18+
194184710311, Почему такая узкая направленность? Почему только массивы. Вот вам задачка: напишите тетрис. Там и с массивом отлично поработаете, да и сопуствующие темы изучите и удовольствие получите от сделанной работы. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2018, 12:08 |
|
Нужен человек, готовый ставить задачки по массивам VBA
|
|||
---|---|---|---|
#18+
194184710311Когда что-то начинаешь изучать у тебя сначала мало знаний, потом чуть больше, больше,...и максимум минус эн. Т.е. идёт постепенное накопление и увеличение.Противоречия нет. Решение задач предполагает наличие определённых базовых знаний. За ними - в учебник. А потом - к задачкам. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2018, 12:31 |
|
Нужен человек, готовый ставить задачки по массивам VBA
|
|||
---|---|---|---|
#18+
Shocker.Pro194184710311, Почему такая узкая направленность? Почему только массивы. Вот вам задачка: напишите тетрис. Там и с массивом отлично поработаете, да и сопуствующие темы изучите и удовольствие получите от сделанной работы. Массивы потому, что, однако, у меня это узкое место... Сначала чисто массивы. Потом массивы+функции+циклы+... По поводу литературы... Пошуршал белыми страницами интернета. Ознакомился с творчеством Джона Уокенбаха. Конкретно с книженцией "Профессиональное программирование на VBA" под офис 2000 и 2010, а в ней с частью 3, посвященной VBA. В часть 5ую не полез ещё. Потому как не понимаю динамические массивы, юбонды, редимы. Не понимаю потому, как не нашел литературы, где был бы простой пример, в котором была бы последовательность действий в динамическом массиве. Туда бы плавно вставляли юбонд, редим и делали картинки результата до юбонда и после, до редима и после. Может есть у кого такая книженция или что-то другое? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2018, 13:13 |
|
Нужен человек, готовый ставить задачки по массивам VBA
|
|||
---|---|---|---|
#18+
да блин, это ж в паре строк можно объяснить, что тут огород-то городить Код: vbnet 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2018, 13:46 |
|
Нужен человек, готовый ставить задачки по массивам VBA
|
|||
---|---|---|---|
#18+
Ну и до кучи Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2018, 13:49 |
|
Нужен человек, готовый ставить задачки по массивам VBA
|
|||
---|---|---|---|
#18+
Shocker.ProНу и до кучи Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
хм, а почему во втором примере в окне иммедиэйт вырисовывается 4 строки с числами: 3 5 222222 222222 должно ведь 5, нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2018, 15:39 |
|
Нужен человек, готовый ставить задачки по массивам VBA
|
|||
---|---|---|---|
#18+
194184710311Shocker.ProНу и до кучи Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
хм, а почему во втором примере в окне иммедиэйт вырисовывается 4 строки с числами: 3 5 222222 222222 должно ведь 5, нет? походу он очистился, презерве не было заюзано, хм ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2018, 15:49 |
|
Нужен человек, готовый ставить задачки по массивам VBA
|
|||
---|---|---|---|
#18+
Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2018, 15:50 |
|
Нужен человек, готовый ставить задачки по массивам VBA
|
|||
---|---|---|---|
#18+
Akina Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
либо так: Dim arr As Variant ReDim arr(3 To 5) Debug.Print LBound(arr) Debug.Print UBound(arr) arr(3) = 222222 Debug.Print arr(3) ReDim arr(3 To 6) Debug.Print arr(3) arr(3) = 222221 ReDim Preserve arr(3 To 7) Debug.Print arr(3) на выходе пустая строка, а потом 222221 Лан, если никто задачку не хочет рисовать попробую, сам нарисовать. Дано: Табличка 3 строки 3 столбца. Предусмотреть возможность расширения таблички как по строкам, так и по столбцам. Найти: Сумму по каждой строке и по каждому столбцу. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2018, 16:28 |
|
Нужен человек, готовый ставить задачки по массивам VBA
|
|||
---|---|---|---|
#18+
зачем вам массив, вам надо делать коллекцию элементов вашего класса (ну или рекордсет отвязанный, если у ж совсем лень) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2018, 16:41 |
|
Нужен человек, готовый ставить задачки по массивам VBA
|
|||
---|---|---|---|
#18+
Konst_Oneзачем вам массив, вам надо делать коллекцию элементов вашего класса (ну или рекордсет отвязанный, если у ж совсем лень) Напишите простую задачку на массив, причём динамический... Если эта не катит. У меня нет йопыта ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2018, 16:58 |
|
Нужен человек, готовый ставить задачки по массивам VBA
|
|||
---|---|---|---|
#18+
мне это не надо, это вам надо. я вам дал направление для изучения, которое в будущем вам больше пригодится, тк использует ООП подход ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2018, 17:03 |
|
Нужен человек, готовый ставить задачки по массивам VBA
|
|||
---|---|---|---|
#18+
Чем не понравился тетрис? Его ж необязательно делать в реальном времени. Не нравится, можно реализовать пятнашки, лайнс или любую другую статическую игру с игровым полем в виде массива, в качестве отображения массива можно использовать ячейки экселя ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2018, 17:21 |
|
Нужен человек, готовый ставить задачки по массивам VBA
|
|||
---|---|---|---|
#18+
Ха! Человек собирается изучать азы на форумах :) Прикольно про университет и самостоятельно :) Эх, лень... ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2018, 18:18 |
|
Нужен человек, готовый ставить задачки по массивам VBA
|
|||
---|---|---|---|
#18+
Konst_Oneмне это не надо, это вам надо. я вам дал направление для изучения, которое в будущем вам больше пригодится, тк использует ООП подход хорошо, спасибо Shocker.ProЧем не понравился тетрис? Его ж необязательно делать в реальном времени. Не нравится, можно реализовать пятнашки, лайнс или любую другую статическую игру с игровым полем в виде массива, в качестве отображения массива можно использовать ячейки экселя боязнь того, что там будет огромный код и я даже не представляю структуру этого кода. сколько процедур, сколько функций, ... я в моркови то ещё не освоен, а Вы мне предлагаете лезть в капусту Сын вождяХа! Человек собирается изучать азы на форумах :) Прикольно про университет и самостоятельно :) Эх, лень... круто да? что в регионах, где химия, алюминиевые заводы и т.д. учат языкам программирования, которые используются на местных крупных заводах. и только ты покидаешь пределы своего края, области, ... там уже юзают другие языки программирования. И ты изучал копал под те языки инфу, и тут уже всё с нуля. Каждый человек зеркало. Рад, что в лени Вам весело живётся. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2018, 08:44 |
|
Нужен человек, готовый ставить задачки по массивам VBA
|
|||
---|---|---|---|
#18+
194184710311боязнь того, что там будет огромный код и я даже не представляю структуру этого кода. сколько процедур, сколько функций, ...Зубов бояться - в рот не давать Волков бояться - в лес не ходить. Дорогу осилит идущий. Даже путь в тысячу ли начинается с первого шага (Лао-Цзы) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2018, 08:58 |
|
Нужен человек, готовый ставить задачки по массивам VBA
|
|||
---|---|---|---|
#18+
194184710311боязнь того, что там будет огромный код и я даже не представляю структуру этого кода. сколько процедур, сколько функций, ... я в моркови то ещё не освоен, а Вы мне предлагаете лезть в капусту я одного новичка примерно так учила ACCESS --с нуля, по скайпу с демонстрацией экрана сначала --набила некий код и пояснила голосом, ответила на вопросы затем --ТС вводил код сам, я по экрану контролировала логику и ошибки остались довольны оба ТС --почувствовал себя в аксесс довольно уверенно, стал самостоятельно решать освоенные типы заданий Я --оплатой, ибо занятия длились 2 месяца пр 1-2 часа в будний день ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2018, 12:22 |
|
Нужен человек, готовый ставить задачки по массивам VBA
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКА, Возможно, Ваша методика кому-то подойдёт, а я пошел учиться на своих ошибках. нашел кучу ресурсов, которые будут полезны начинающим и не только: http://www.intuit.ru/studies/courses/536/392/lecture/9070 Объектная модель (справочник по VBA для Excel) https://msdn.microsoft.com/ru-ru/vba/excel-vba/articles/object-model-excel-vba-reference http://vtit.kuzstu.ru/books/shelf/189/doc/lab.html http://window.edu.ru/catalog/resources?p_str=vba&p_nr=50 http://www.excelworld.ru/forum/5 https://books.google.ru/books?id=x08RedN6nTwC&pg=PA99&lpg=PA99&dq=Insert Shift:=xlShiftToRight&source=bl&ots=N5TUBpW17U&sig=z1bORoqLnXitVvUVjurhq6h_zQE&hl=ru&sa=X&ved=0ahUKEwi-tavjr8PZAhXDBSwKHZo_BbQQ6AEINDAB#v=onepage&q=Insert Shift:=xlShiftToRight&f=false Определить последнюю ячейку через VBA: http://www.excel-vba.ru/chto-umeet-excel/kak-opredelit-poslednyuyu-yachejku-na-liste-cherez-vba/ https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=list&FID=1 http://www.sql.ru/forum http://www.cpearson.com/Excel/VBAArrays.htm http://www.excel-easy.com/vba.html Министерство образования Республики Беларусь Учреждение образования «МОГИЛЕВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПРОДОВОЛЬСТВИЯ» Кафедра «Информатика и вычислительная техника» Сборник задач по VBA Методические указания для студентов всех специальностей и аспирантов Могилев VBA для чайников Стив Каммингс Диалектика, 2002г Москва Профессиональное программирование на Vba в Excel 2002 Джон Уокенбах Диалектика, 2003 Москва Профессиональное программирование на Vba 2010 Джон Уокенбах Диалектика, 2012 Москва МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ «МАМИ» В.И.Калядин Решение задач в Excel на VBA ПРИМЕНЕНИЕ ПРОГРАММНЫХ СРЕДСТВ В ПРОЕКТИРОВАНИИ АВТОМОБИЛЬНЫХ КОНСТРУКЦИЙ Москва, 2011г МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Московский государственный машиностроительный университет (МАМИ) /УНИВЕРСИТЕТ МАШИНОСТРОЕНИЯ/ Н.С.Карташов, А.И.Макаров, Д.А.Макаров Алгоритмизация и программирование на VBA в Microsoft Excel Москва, 2012г Тут и задачи и теория) Так, что все те, кто хочет начать - дерзайте. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2018, 08:32 |
|
Нужен человек, готовый ставить задачки по массивам VBA
|
|||
---|---|---|---|
#18+
Ещё задачки... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2018, 08:34 |
|
Нужен человек, готовый ставить задачки по массивам VBA
|
|||
---|---|---|---|
#18+
194184710311, Нашел сумму))) Вот код... Option Explicit Sub sumStrStolb() Dim x As Range, A(), R() As Integer, C() As Integer, i%, j% Set x = Range("A1").CurrentRegion A = Range(x.Address) ReDim R(LBound(A, 1) To UBound(A, 1)) ReDim C(LBound(A, 2) To UBound(A, 2)) For i = LBound(A, 1) To UBound(A, 1) R(i) = 0 For j = LBound(A, 2) To UBound(A, 2) If IsNumeric(A(i, j)) Then R(i) = R(i) + A(i, j) C(j) = C(j) + A(i, j) End If Cells(UBound(A, 1) + 2, j) = C(j) Next j Cells(i, UBound(A, 2) + 2) = R(i) Next i End Sub Можно как-то упростить код (сделать так, чтобы при МОЩНОМ заполнении строк и столбцов) просчёт был бы быстрым? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2018, 15:47 |
|
Нужен человек, готовый ставить задачки по массивам VBA
|
|||
---|---|---|---|
#18+
194184710311, ради интереса поигрался уже с обработчиками ошибок))) Option Explicit Sub sumStrStolb1() On Error GoTo handler Dim x As Range, A(), R() As Integer, C() As Integer, i%, j% Set x = Range("A1").CurrentRegion A = Range(x.Address) ReDim R(LBound(A, 1) To UBound(A, 1)) ReDim C(LBound(A, 2) To UBound(A, 2)) For i = LBound(A, 1) To UBound(A, 1) R(i) = 0 For j = LBound(A, 2) To UBound(A, 2) R(i) = R(i) + A(i, j) C(j) = C(j) + A(i, j) Cells(UBound(A, 1) + 2, j) = C(j) GoTo continue handler: MsgBox "Calculation error" Resume Next continue: Next j Cells(i, UBound(A, 2) + 2) = R(i) Next i End Sub ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2018, 16:16 |
|
Нужен человек, готовый ставить задачки по массивам VBA
|
|||
---|---|---|---|
#18+
194184710311194184710311, Можно как-то упростить код (сделать так, чтобы при МОЩНОМ заполнении строк и столбцов) просчёт был бы быстрым?Пробуйте Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2018, 16:45 |
|
|
start [/forum/topic.php?fid=60&msg=39614906&tid=2155096]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
151ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 258ms |
0 / 0 |