Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Характер господарських операцій




За характером змін господарських операцій можна виділити чотири їх типи:

1. Операції, які змінюють тільки актив балансу. Суми за одними статтями збільшуються, а за іншими зменшуються. У результаті таких операцій один вид засобів ніби переходить (перетворюється) в інший вид засобів, що відображаються також в активному рахунку, тільки в іншому. Тому такий тип операцій призведе до зменшення коштів по одному активному рахунку і в той же самий час збільшить на таку ж суму коштів, що відображаються за будь-якого іншого активного рахунку. Загальна сума коштів в активі балансу не зміниться. Статті пасиву балансу не зачіпаються. Приклад такого переміщення коштів:

д. 41.1 "Товари на складах» -

к. 41.2 «Товари в роздрібній торгівлі».

Такою проводкою ми позначаємо поставку товару в роздріб.

2. Те ж саме, що і в першому пункті, тільки в пасиві балансу. У результаті в пасиві балансу одних джерел стає більше, а інших - менше. У результаті підсумок пасиву балансу не змінюється, а актив взагалі не зачіпається.

3. Активно-пасивні зміни у бік збільшення підсумку балансу, коли дебетове сальдо активного рахунку збільшується, у пасивного рахунку збільшується кредитове сальдо. Таким чином загальна сума активу і пасиву балансу стануть більші. Наприклад, надходження товару оформляється наступним проведенням:

д. 41.1 "Товари на складах» -

к, 60.1 «Розрахунки з постачальниками та підрядниками в рублях».

4. Активно-пасивні можуть позначати рух коштів у бік зменшення підсумку балансу. Цей тип операцій є зворотним по відношенню до попереднього типу. Вибуття засобів відображається по тому активному рахунку, де вони враховувалися до вибуття. Зменшення засобів пов'язане з необхідністю зменшення відповідного джерела.

Тепер давайте більш детально розберемо кругообіг коштів на даному підприємстві і господарські операції, що відбуваються при цьому. Суть його діяльності полягає в покупці комп'ютерних комплектуючих, моніторів, принтерів і т.д. і перепродажу їх оптовими партіями.

 

 
 

 


Рис. 6.5. Господарські операції при торгівлі (спрощено)

Таблиця 2.3.2

Господарські операції, які будуть використані для розрахунку собівартості реалізованих товарів.

http://www.bibliofond.ru/view.aspx?id=434988

№ пn Зміст господарської операції Кореспондуючі рахунки Сума, грн
Дт
         
  Оприбутковано товари, придбані у постачальника за грошові кошти, без ПДВ     25000,00
  Відображено у складі податкового кредиту суму ПДВ з придбаного товару -     5000,00
  Здійснено оплату постачальнику за отриманий товар     30000,00
  Відображено в обліку послуги сторонніх організацій по транспортуванню товарів     1000,00
  Відображено у складі податкового кредиту суму ПДВ з послуг по транспортуванню»     200,00
  Відображено в обліку послуги сторонніх організацій по навантажувально-розвантажувальних роботах     1500,00
  Відображено у складі податкового кредиту суму ПДВ з послуг по навантажувально-розвантажувальних роботах     300,00
  Відображено в обліку послуги посередників, що відносяться до придбаних товарів     500,00
  Відображено у складі податкового кредиту суму ПДВ з посередницьких послуг     100,00
  Відображено інформаційні послуги, пов'язані з придбанням товарів     360,00
  Відображено у складі податкового кредиту суму ПДВ з інформаційних послуг     60,00
  Реалізовано товари     24000,00
  Відображено податкові зобов'язання по ПДВ     4000,00
  Списано собівартість реалізованих товарів.     14000,00
  Списано на реалізацію інші витрати, що входять до собівартості товарів     1890,00
  Визначено фінансовий результат від реалізації товарів     15890,00 20000,00

 

 

КЛАС 1. НЕОБОРОТНІ АКТИВИ

РАХУНОК 10 "ОСНОВНІ ЗАСОБИ"

РАХУНОК 11 "ІНШІ НЕОБОРОТНІ МАТЕРІАЛЬНІ АКТИВИ"

РАХУНОК 12 "НЕМАТЕРІАЛЬНІ АКТИВИ" КОРЕСПОНДУЄ

РАХУНОК 13 "ЗНОС (АМОРТИЗАЦІЯ) НЕОБОРОТНИХ АКТИВІВ" КОРЕСПОНДУЄ

РАХУНОК 14 "ДОВГОСТРОКОВІ ФІНАНСОВІ ІНВЕСТИЦІЇ"

РАХУНОК 15 "КАПІТАЛЬНІ ІНВЕСТИЦІЇ" КОРЕСПОНДУЄ

РАХУНОК 17 "ВІДСТРОЧЕНІ ПОДАТКОВІ АКТИВИ"

РАХУНОК 18 "ДОВГОСТРОКОВА ДЕБІТОРСЬКА ЗАБОРГОВАНІСТЬ ТА ІНШІ НЕОБОРОТНІ АКТИВИ"

РАХУНОК 19 "ГУДВІЛ"

КЛАС 2. ЗАПАСИ

РАХУНОК 20 "ВИРОБНИЧІ ЗАПАСИ"

Рахунок 21 "Поточні біологічні активи"

РАХУНОК 22 "МАЛОЦІННІ ТА ШВИДКОЗНОШУВАНІ ПРЕДМЕТИ" РАХУНОК 23 "ВИРОБНИЦТВО" КОРЕСПОНДУЄ

РАХУНОК 24 "БРАК У ВИРОБНИЦТВІ" КОРЕСПОНДУЄ

РАХУНОК 25 "НАПІВФАБРИКАТИ"

РАХУНОК 26 "ГОТОВА ПРОДУКЦІЯ"

РАХУНОК 27 "ПРОДУКЦІЯ СІЛЬСЬКОГОСПОДАРСЬКОГО ВИРОБНИЦТВА"

РАХУНОК 28 "ТОВАРИ"

КЛАС 3. КОШТИ, РОЗРАХУНКИ ТА ІНШІ АКТИВИ

РАХУНОК 30 "КАСА"

РАХУНОК 31 "РАХУНКИ В БАНКАХ"

РАХУНОК 33 "ІНШІ КОШТИ"

РАХУНОК 34 "КОРОТКОСТРОКОВІ ВЕКСЕЛІ ОДЕРЖАНІ"

РАХУНОК 35 "ПОТОЧНІ ФІНАНСОВІ ІНВЕСТИЦІЇ"

РАХУНОК 36 "РОЗРАХУНКИ З ПОКУПЦЯМИ ТА ЗАМОВНИКАМИ" РАХУНОК 37 "РОЗРАХУНКИ З РІЗНИМИ ДЕБІТОРАМИ"

РАХУНОК 38 "РЕЗЕРВ СУМНІВНИХ БОРГІВ"

РАХУНОК 39 "ВИТРАТИ МАЙБУТНІХ ПЕРІОДІВ"

КЛАС 4. ВЛАСНИЙ КАПІТАЛ ТА ЗАБЕЗПЕЧЕННЯ ЗОБОВ'ЯЗАНЬ

РАХУНОК 40 "СТАТУТНИЙ КАПІТАЛ"

РАХУНОК 41 "ПАЙОВИЙ КАПІТАЛ"

РАХУНОК 42 "ДОДАТКОВИЙ КАПІТАЛ"

РАХУНОК 43 "РЕЗЕРВНИЙ КАПІТАЛ"

РАХУНОК 44 "НЕРОЗПОДІЛЕНІ ПРИБУТКИ (НЕПОКРИТІ ЗБИТКИ)"

РАХУНОК 45 "ВИЛУЧЕНИЙ КАПІТАЛ"

РАХУНОК 46 "НЕОПЛАЧЕНИЙ КАПІТАЛ"

РАХУНОК 47 "ЗАБЕЗПЕЧЕННЯ МАЙБУТНІХ ВИТРАТ І ПЛАТЕЖІВ"

Рахунок 48 "Цільове фінансування і цільові надходження"

РАХУНОК 49 "СТРАХОВІ РЕЗЕРВИ"

Клас 5. Довгоспрокові зобов'язання

Рахунок 50 "Довгострокові позики"

Рахунок 51 "Довгострокові векселі видані"

Рахунок 52 "Довгострокові зобов'язання за облігаціями"

Рахунок 53 "Довгострокові зобов'язання з оренди"

Рахунок 54 "Відстрочені податкові зобов'язання"

Рахунок 55 "Інші довгострокові зобов'язання"

Клас 6. Поточні зобов'язання

Рахунок 60 "Короткострокові позики"

Рахунок 61 "Поточна заборгованість за довгостроковими

зобов'язаннями"

Рахунок 62 "Короткострокові векселі видані"

Рахунок 63 "Розрахунки з постачальниками та підрядниками"

Рахунок 64 "Розрахунки за податками й платежами"

Рахунок 65 "Розрахунки за страхуванням"

Рахунок 66 "Розрахунки за виплатами працівникам"

Рахунок 67 "Розрахунки з учасниками"

Рахунок 68 "Розрахунки за іншими операціями"

Рахунок 69 "Доходи майбутніх періодів"

Клас 7. Доходи і результати діяльності

Рахунок 70 "Доходи від реалізації"

Рахунок 71 "Інший операційний дохід"

Рахунок 72 "Дохід від участі в капіталі"

Рахунок 73 "Інші фінансові доходи"

Рахунок 74 "Інші доходи"

Рахунок 75 "Надзвичайні доходи"

Рахунок 76 "Страхові платежі"

Рахунок 79 "Фінансові результати"

Клас 8. Витрати за елементами

Рахунок 80 "Матеріальні витрати"

Рахунок 81 "Витрати на оплату праці"

Рахунок 82 "Відрахування на соціальні заходи"

Рахунок 83 "Амортизація"

Рахунок 84 "Інші операційні витрати"

Рахунок 85 "Інші затрати"

Клас 9. Витрати діяльності

Рахунок 90 "Собівартість реалізації"

Рахунок 91 "Загальновиробничі витрати"

Рахунок 92 "Адміністративні витрати"

Рахунок 93 "Витрати на збут"

Рахунок 94 "Інші витрати операційної діяльності"

Рахунок 95 "Фінансові витрати"

Рахунок 96 "Втрати від участі в капіталі"

Рахунок 97 "Інші витрати"

Рахунок 98 "Податок на прибуток"

Рахунок 99 "Надзвичайні витрати"

Клас 0. Позабалансові рахунки

Рахунок 01 "Орендовані необоротні активи"

Рахунок 02 "Активи на відповідальному зберіганні"

Рахунок 03 "Контрактні зобов'язання"

Рахунок 04 "Непередбачені активи й зобов'язання"

Рахунок 05 "Гарантії та забезпечення надані"

Рахунок 06 "Гарантії за забезпечення отримані"

Рахунок 07 "Списані активи"

Рахунок 08 "Бланки суворого обліку"

Рахунок 09 "Амортизаційні відрахування"


 

Автоматизація ведення журналу операцій (головний журнал)

1. Створити книгу із листками

План рахунків,

Номер рахунку Назва рахунку  
 

Операц,

ВвідОперац

ЖурналОперац

 

Створення проведень

 

2. Завести навчальний план рахунків.

3. Іменувати діапазон значень введеної таблиці як planRah використовуючи віконце іменування (a1). В процесі поповнення плану рахунків діапазон planRah треба коригувати за допомогою шляху Вставка/Имя/Присвоить вибором planRah та корекцією формули

4. Створити перше навчальне проведення на листку Операц, окрім стовпчику назви рахунків, який буде заповнятися автоматично.

Для цього використаємо функцію Excel Вертикальний перегляд ВПР.

Шукає значення у крайньому лівому стовпчику таблиці і повертає значення в тому самому рядку з указаного стовпця таблиці.

Синтаксис

Шукане_значення - це значення, яке має бути знайдено в першому стовпці масиву. Таблиця - таблиця з інформацією, у якій шукаються дані. Можна використовувати посилання на інтервал або ім'я інтервалу.• Якщо інтервальний_просмотр має значення ІСТИНА, то значення в першому стовпці аргументу «таблиця» повинні бути розташовані в порядку зростання:..., -2, -1, 0, 1, 2,..., AZ, FALSE, ІСТИНА; в Інакше функція ВПР може видати неправильний результат. Якщо «інтервальний_просмотр» має значення FALSE, то «таблиця» не зобов'язана бути відсортованої. • • Значення в першому стовпці аргументу «таблиця» можуть бути текстовими рядками, числами або логічними значеннями. • Текстові рядки порівнюються без обліку регістра букв.

Номер_стовпчика - це номер стовпця в масиві «таблиця», в якому повинно бути знайдено відповідне значення. Якщо «номер_стовпчика» дорівнює 1, то повертається значення з першого стовпця аргументу «таблиця», якщо «номер_стовпчика» дорівнює 2, то повертається значення із другого стовпця аргументу «таблиця» і так далі.

Інтервальний_просмотр - це логічне значення, яке визначає, чи потрібно, щоб ВПР шукала точну або наближену відповідність. Якщо цей аргумент має значення TRUE або пропущено, то повертається приблизно відповідне значення; іншими словами, якщо точна відповідність не знайдена, то повертається найбільше значення, яке менше, ніж шукане_значення. Якщо цей аргумент має значення FALSE, то функція ВПР шукає точну відповідність. Якщо таке не знайдено, то повертається значення помилки # N / A.

5. Для використання даної функції зручно іменувати значення номерів кредитових та дебетових рахунків відповідно nDtOper nKtOper. Для цього іменуємо відповідні комірки а потім коректуємо формулу діапазону знявши знак абсолютної адресації $ біля номерів стрічок по шаблону $A3. Потім використовуємо ВПР для пошуку імен по точному співпаданні номерів рахунків. Наприклад ВПР(nDtOper; planRah; 2;0).

6. При введены нових проведень назви рахунків будуть проставлятися автоматично

Формування операцій для внесення в журнал

7. Додати кнопку Ввід операції на листок Операц (вид-панель інструментів-форми)

8. Створити макрос підготовки вводу операції: Сервіс/Макрос/НачатьЗапись на ім.’я VvidProv ввід проведення. Після цього можна заповнити декілька клмірок довільною інформацією або не робити цього. Завершити запис макросу Сервіс/Макрос/ЗавершитьЗапись

9. Викликати редактор коду VB Alt+F11 і знайти тіло створеного макросу – пошук в провому віконці. Від макросу залишити перші дві та останню стрічки. Перша стрічка задає його назву 2 – коментар, а остання – кінець макросу (підпрограми VB).

10. Сформувати текст макросу на зразок наступного

Sub VvidProv()

'

Dim Oper As String

' MsgBox ActiveSheet.Name

If ActiveSheet.Name = " Операц " Then

kOp = ActiveSheet.Cells(ActiveCell.Row, 1)

Oper = ActiveSheet.Cells(ActiveCell.Row, 2)

Sheets("ВвідОперац ").Range("kOp") = kOp

Sheets("ВвідОперац ").Range("Oper") = Oper

Sheets("ВвідОперац").Range("Oper").WrapText = True

Worksheets("ВвідОперац ").Activate

End If

End Sub11. Приписати макрос кнопці Ввід операції. (права клавіша) а також давши вірне імя кнопці. Закрити вікно VB та випробувати дію макроса.

12. Здійснити аналіз роботи макроса. Тіло підпрограми включає описи змінних Dim, лінійні, умовні та циклічні оператори. В програмі використовуються прості змінні Oper та об’єкти.

13. Об'єкт Application є екземпляром власне Microsoft Excel. Застосовуючи до цього об'єкта різні методи, можна скористатися практично будь-якими командами меню Excel. Об'єкт Application має властивості ActiveWorkbook і ActiveSheet, які вказують на поточні об'єкти Workbook (робоча книга) і Worksheet (робочий лист). Можна вказати Excel.Application як значення аргументу <клас> функцій CreateObject () і GetObjectO, а також в операторі Dim objPlMH As New <клас>.

14. Основний об'єкт Excel - Workbook (робоча книга). За допомогою цього об'єкта здійснюється доступ до властивостей і структурі робочої книги Excel. Об'єкти workbook - це файли, які складаються з декількох об'єктів, що створюються Microsoft Excel: Worksheet (робочий аркуш) і Chart (діаграма). Об'єкти Worksheet і Chart містяться В родинах Worksheets і Charts.

15. Об'єкти Worksheet є підпорядкованими по відношенню до об'єкта Workbook і забезпечують доступ до властивостей і структурі робочих аркушів книги Excel. Об'єкти sheet аналогічні об'єктів Worksheet, але вони входять в сімейство Sheets, яке включає в себе як об'єкти Worksheet, так і об'єкти Chart, що представляють листи діаграм в робочій книзі.

17. Об'єкт Range - діапазон комірок робочого листа Excel. Це можуть бути окрема комірка, рядок, стовпець, прямокутна область робочого аркуша або незв'язаний (довільний набір комірок) або тривимірний діапазон комірок, що включає осередки на кількох робочих аркушах. Можна отримати або встановити значення діапазону комірок, визначивши об'єкт Range. Таких об'єктів, як осередок, рядок, стовпець просто не існує. Саме об'єкт Range зі своїми властивостями і методами забезпечує роботу як з окремою клітинкою, так і з їх діапазоном. Для посилання на необхідну групу комірок можна використовувати ім'я діапазону, що складається з цих осередків. Якщо іменовані діапазони відсутні на робочому аркуші, можна використовувати метод Cells об'єкта worksheet, щоб задати координати клітинки або групи осередків. Нижче наводяться два способи зміни значення комірки А1:

ActiveSheet.Range ("Al").Value = 7

ActiveSheet.Cells (1,1).Value = 7

 

Оператори, які виконують роль розгалуження програми на підставі будь-якої умови, називаються операторами умовного переходу.

Найпростішими операторами умовного переходу є оператори If.. Then; If.. Then.. Else. Перший оператор дозволяє вибирати єдину гілку процедури (ліва блок-схема), тоді як другий дає можливість вибирати з двох альтернативних гілок коду процедури (права блок-схема) на основі оцінки того, чи є умова рівним True або False.Синтаксис If..Then

Варіант 1:

If Condition Then Statements

 

Варіант 2:

If Condition Then

Statements

End If

 

Condition - логічний вираз;

Statements - один, декілька або жодного оператора VBA

Перший варіант вимагає написання оператора в один рядок, при цьому в секції Statements можна вказувати декілька операторів, розділяючи їх двокрапкою.

Другий варіант дозволяє вказувати декілька операторів в різних рядках.

Синтаксис If..Then..Else

 

Варіант 1:

If Condition Then Statements Else ElseStatements

 

Варіант 2:

If Condition Then

Statements

Else

ElseStatements

End If

Є можливість запуску макросу з довільного листка. Тому перед записом в форму вводу операцій перевіряємо, чи макрос запускався із листка операцій.

Як у макросі дізнатися і використовувати поточне положення курсору? ActiveCell.Row і ActiveCell.Column - покажуть координати активної клітинки.

WrapText - можливість включити / відключити переклад тексту на наступний рядок в осередках діапазону. Якщо ви хочете зробити знайдену книгу активною, то викличте метод Activate

Внесення операцій в журнал

Завести кнопки Провести та Скасувати в листок вводу операцій (ВвідОперац.).

Іменувати поля першого рядка таблиці вводу операцій, наприклад:

kOp, Ореr, Ndoc, datOper, sum

Створити підпрограму очистки таблиці вводу (Sub Och()) та приписати її кнопці Скасувати. Переконатися в очистці вмістимого таблиці

Створити шаблон програми проведення операції (Sub Prov()) та приписати її кнопці Провести. Спроектувати наступну структуру програми проведення за допомогою коментарів:

' Перевірка внесення дати та суми операції

'Реалізація проведення

' Пошук вільної стрічки в журналі операцій

' Пошук опису операції в переліку

' Цикл запису проведень з післяумовою

' Номери та назви кореспондуючих рахунків

' Заповнення дебетової частини проведення

' Заповнення кредитової частини проведення

' Перевірка наявності наступного проведення в операції

'очистка операції в формі вводу

' Обробка невизначеності операції

 

Перевірка визначеності операції

datOper = ActiveSheet.Range("datOper")

sumOper = ActiveSheet.Range("sum")

If (sumOper > 0) And (datOper <> "") Then

'Реалізація проведення

' Обробка невизначеності операції

If (sumOper <= 0) Then

MsgBox "Введіть обсяг операції"

End If

If (datOper = "") Then

MsgBox ……

End If

End If

 

Реалізація проведення

Dim Row, rowOp As Integer

…….

kOp = ActiveSheet.Range("kOp")

nDoc = …..

Row = 1

' Пошук вільної стрічки в журналі операцій

Do While Sheets("ЖурналОперац").Cells(Row, 1) <> ""

Row = Row + 1

Loop

' Пошук опису операції в переліку

rowOp = ……

Do While Sheets("Операц").Cells(rowOp, 1) <>……

rowOp = …….

Loop

 

Цикл запису проведень з післяумовою

 

Do

' Номери та назви кореспондуючих рахунків

rahZurDb = Sheets("Операц").Cells(rowOp, 5)

nRahZurDb = Sheets("Операц").Cells(rowOp, 3)

rahZurKr = ……

nRahZurKr = …….

……..

' Перевірка наявності наступного проведення в операції

Loop While (Sheets("Операц").Cells(rowOp, 1) = "") And (Sheets("Операц").Cells(rowOp, 3) > 0)

 

Заповнення дебетової частини проведення

(внесення підготовленої інформації із відповідним центруванням та опцією переносу по словах)

Sheets("ЖурналОперац").Cells(Row, 1) = datOper

Sheets("ЖурналОперац").Cells(Row, 1).HorizontalAlignment = xlCenter

Sheets("ЖурналОперац").Cells(Row, 2) = nDoc

Sheets("ЖурналОперац").Cells(Row, 2).HorizontalAlignment = xlCenter

Sheets("ЖурналОперац").Cells(Row, 3) = rahZurDb

With Sheets("ЖурналОперац").Cells(Row, 3)

.HorizontalAlignment = xlLeft

.WrapText = True

End With

Sheets("ЖурналОперац").Cells(Row, 4) = nRahZurDb

Sheets("ЖурналОперац").Cells(Row, 4).HorizontalAlignment = xlLeft

Sheets("ЖурналОперац").Cells(Row, 5) = sumOper

Sheets("ЖурналОперац").Cells(Row, 5).HorizontalAlignment = xlCenter

Row = Row + 1

 

Підведення підсумків обороту по рахунках за вибраний період

Головна книга
Місяць обліку Назва рахунку Номер рахунку Дебет Кредит  
 
01.03.2011 Товари на складі        
  Поточні рахунки в національній валюті        
  Розрахунки з вітчизняними покупцями        
  Розрахунки з вітчизняними постачальниками        
  Розрахунки за податками        
  Дохід від реалізації товарів        
  Результат операційної діяльності        
  Собівартість реалізованих товарів        
           

 

Заходимо на листок Головна Книга

1. Іменуємо першу комірку значень місяця обліку як датаКнига

2. занести номери та назви рахунків із плану

3. графи підсумків по рахунках заповнимо програмно. Встановлюємо кнопку «підсумки» після таблиці рахунків в головній книзі і приписуємо їй макрос SumRah

4. реалізуємо схему макросу

'цикл по рахунках книги

'цикл по записах журналу

' при співпадінні місяця і номера рахунків книги і журналу

' збільшення підсумків по рахунках

‘ кінець циклу по журналу

' запис підсумків по рахунку

‘ кінець циклу по книзі

5. реалізуємо підготовку циклу по рахунках книги

Dim pidsMis, rowKn, rahKn, rahZur, misZur, rowZur As Integer

Dim sumDeb, sumKred As Single

pidsMis = Month(Sheets("Головна Книга").Range("датаКнига"))

' MsgBox "pidsMis = " & pidsMis

rowKn = 4

' цикл по рахунках книги

Do While Sheets("Головна Книга").Cells(rowKn, 3) <> ""

rahKn = Sheets("Головна Книга").Cells(rowKn, 3)

……rowKn = rowKn + 1

Loop

для встановлення представлення функции месяц використали запис тестового макроса

6. реалізуємо підготовку циклу по записах журналу операцій

rowZur = 2

sumDeb = 0

sumKred = 0

'цикл по записах журналу

Do While Sheets("ЖурналОперац").Cells(rowZur, 4) <> ""

rahZur = Sheets("ЖурналОперац")……

misZur = Month(Sheets("ЖурналОперац")…..)

rowZur = …..

Loop

8. 'при співпадінні місяця і номера рахунків книги і журналу

' збільшення підсумків по рахунках

If (misZur = pidsMis) And (rahZur = ….) Then

sumDeb = sumDeb + Sheets("ЖурналОперац").Cells(rowZur, 5)

sumKred = ……

End If

9. ' запис підсумків по рахунку

Sheets("Головна Книга").Cells(rowKn, 4) = sumDeb

Sheets("Головна Книга").Cells(rowKn, ……

 

 

Типові алгоритми циклічної обробки інформації

1. Встановити необхідність циклічної обробки та її відношення до виводу результуючої інформації:

- циклічна обробка + вивід після циклу

- циклічна обробка із виводом.

2. Встановити тип циклічної обробки: по умові із зміною індексу або по перерахунку т

3. Встановити спосіб побудови результату:

- Безпосередні обчислення

- Сумування або добутки

- S=0

- Цикл

- S=S+A

- ВсеЦикл

- D=0

- Цикл

- D=D*A

- ВсеЦикл

- рекурентні формули

- ‘Початкові присвоєння

- A0=1

- A1=1

- Цикл

- ‘Обчислення

- A2=A1+A0

- ‘Оновлення рекуренції

- A0=A1

- A1=A2

- ВсеЦикл

 

Оголошення масиву

Dim MyArray(100) As Integer

Пошук максимуму

Mx= MyArray(1)

For i=1 To 100

If Mx< MyArray(i) Then

Mx= MyArray(i)

End If

 

 

Основи програмування на VBA.

Описи змінних та масивів – зручно задавати перед виконуваними операторами. Змінна — це іменований контейнер для зберігання змінюваних даних. Наприклад

Dim nMyAge As Integer

Dim — це зона видимості змінної. Якщо змінна оголошена як Dim в області оголошень модуля, то вона буде доступна в усьому модулі, якщо в процедурі — тільки на час роботи цієї процедури. Друге слово в нашому оголошення (nMyAge) — це ідентифікатор (ім 'я) змінної. Третя частина нашого оголошення (As Integer) — ця вказівка на тип даних нашій змінній. Тип даних визначає, дані якого виду можна буде зберігати в цій змінній. У VBA передбачені наступні типи даних:

ˆ числові:

• Byte — ціле число від 0 до 255;

• Integer — ціле число від − 32 768 до 32 767;

• Long — велике ціле число від − 2 147 483 648 до 2 147 483 647;

• Currency — велике десяткове число з 19 позиціями, включаючи

4 позиції після коми;

• Decimal — ще більше десяткове число з 29 позиціями (після запя-

тій можна використовувати від 0 до 28 позицій);

• Single і Double — значення з плаваючою комою (Double в 2 рази

більше));

ˆ строкові (String змінної довжини (приблизно до 2 млрд символів) і

фіксованої довжини (приблизно до 65 400 символів));

ˆ дата і час (Date — від 01.01.100 до 31.12.9999);

ˆ логічний (Boolean — може зберігати тільки значення True і False);

ˆ об'єктний (Object — зберігає посилання на будь-який об'єкт в пам'яті);

ˆ Variant — спеціальний тип даних, який може зберігати будь-які дру-

гие типи даних.

При привласненні значень змінним треба пам'ятати про наступне:

ˆ строкові значення завжди полягають в подвійні лапки:

sVar1 = "Hello"

ˆ значення дата/час полягає в символи "грати" (#):

dVar1 = #05/06/2004#

Зверніть увагу, що при привласненні значення дати/часу таким "явним" способом нам доводиться використовувати прийняті в США стандарти: 05 в даному випадку — це місяць, 06 — день. А відображення цього значення (наприклад, у вікні повідомлення) залежатиме від регіональних налаштувань на комп'ютері користувача;

 

Найпростішою спосіб вивести інформацію користувачеві — використати вбудовану функцію VBA MsgBox(). Повний її синтаксис виглядає так:

MsgBox(Текст [, кнопки] [, заголовок_вікна] [, файл_довідки, мітка_в_файлі_довідки])

Спрощений варіант використання

MsgBox Текст

 

Масиви використовуються для зберігання в пам'яті множини значень. Замість того щоб оголошувати множину схожих один на одного змінних, набагато зручніше скористатися масивом.

Оголошення масиву робиться дуже просто:

Dim MyArray(2) As Integer

Тут 2 — це верхня межа масиву (upper bound). За умовчанням нижньою межі масиву (lower bound) відповідає елемент з номером 0. Кількість елементів, яку може зберігати масив, — від 0 до верхньої межі включно.

Присвоїти значення окремому елементу масиву (в нашому випадку — першому) можна дуже просто:

MyArray(0) = 100

А потім це значення можна буде витягнути:

MsgBox MyArray(0)

Масиви можуть бути багатовимірними, зокрема, двовимірними:

Dim MyArray(4, 9)

У кожному рядку багатовимірного масиву зручно зберігати дані, що відносяться до одного об'єкту (наприклад, ім'я співробітника, унікальний номер, номер телефону). У VBScript в одному багатовимірному масиві може бути до 60 вимірів.

Масиви можна створювати і заповнювати одночасно:

Dim MyArray

MyArray = Array(100, 200, 300, 400, 500)

Вказувати розмір масиву необов'язково — він буде автоматично налаштований відповідно до кількості передаваних елементів.

Очистити масив можна командою Erase:

Erase MyArray

Оператори

Оператор — це найменша одиниця коду VBA, що здатна виконуватися. Арифметичних операторів в VBA всього 7. Чотири стандартних: додавання(+), віднімання (?), множення (*), ділення (/), і ще три:

ü піднесення до степеня (^). Наприклад, 2^3 = 8;

ü цілочисельне ділення (\). Ділить перше число на друге, відкидаючи (не округляючи) дробову частину. Наприклад, 5\2 = 2;

ü ділення по модулю (Mod). Ділить перше число на друге, повертаючи тільки залишок. Наприклад, 5 Mod 2 = 1.

Операторів порівняння в VBA всього 8:

рівність (=). Наприклад, If (nVar = 10);

більше, ніж (>) і менше ніж (<). Наприклад, If (nVar > 10);

більше або рівно (>=) і менше або рівно (<=). Наприклад, If (nVar >= 10);

не рівно (<>). Наприклад, If (nVar<>10);

Наведемо деякі особливості порівняння рядкових значень:

при порівнянні рядкових значень враховується регістр;

пропуски в рядкових значеннях також враховуються;

при порівнянні текстових рядків на більше/менше за умовчанням порівнюються просто двійкові коди символів — які більші або менші. Якщо потрібно використовувати той порядок, який йде в алфавіті, то потрібно скористатися командою

Option Compare Text

Майже в будь-якій програмі VBA використовуються оператори конкатенації, тобто злиття рядкових значень. В VBA їх два — (+) або (&). Рекомендується завжди використовувати оператор (&), тому що:

- при використовуванні (&) проводиться автоматичне перетворення числовых значень в рядкові — немає небезпеки припуститися помилки;

- при використовуванні оператора (+) сумування рядкового значення із значенням типу Null дає Null.

Приклад використовування оператора (&): "Повідомлення користувачу " & vUserName

Оператори умовного і безумовного переходу

Загальний принцип їх роботи простий: перевіряється відповідність деяким умовам (істинність або хибність деяких виразів) і залежно від цього виконання програми спрямовується по одній або іншій гілці.

Повний синтаксис виглядає так (необов'язкові частини поміщені в квадратні дужки):

If Умова Then

Команди1

[ElseIf УмоваN Then

КомандиN]

[Else

Команди2]

End If

При цьому:

ˆ Умова — вираз, який перевіряється на істинність. Якщо він істинний, то виконуються Команды1, якщо помилковиц — Команди2;

ˆ УсловаN — додаткові умови, які також можна перевірити. У разі, якщо вони виконуються (вираз УсловаN істинний), то виконуються Команди N. Додаткові умови (разом з конструкцією ElseIf) можна повторювати необмежена кількість разів.

Оператор If...Then застосовується:

ˆ коли треба перевірити на одно умову і у разі відповідності зробити якусь дію:

If nTemperature < 10 Then

MsgBox "Надіти куртку"

End If

ˆ коли треба зробити те ж, що і в попередньому прикладі, а у разі невідповідності виконати іншу дію:

If nTemperature < 10 Then

MsgBox "Надіти куртку"

Else

MsgBox "Надіти ветровку"

End If

ˆ коли треба перевірити на відповідність декілька умов:

If (nTemperature < 10) And (bRain = True) Then

MsgBox "Надіти куртку і узяти парасольку"

End If

ˆ у разі, коли перевірка першої умови повернула False, треба перевірити на відповідність ще декілька умов (зручно використовувати ElseIf):

If (bIGoInCar = True) Then

MsgBox "Одягнутися для машини"

ElseIf nTemperature < 10 Then

MsgBox "Надіти куртку"

Else

MsgBox "Можна йти в сорочці"

End If

Робота з циклами

Цикли використовуються в ситуаціях, коли нам треба виконати яку-небудь дію кілька разів. Перша ситуація — ми знаємо, скільки разів треба виконати певну дію, в цьому випадку використовується конструкція

For...Next:

For iCounter = 1 to 10

MsgBox "Лічильник: " & iCounter

Next

Щоб вказати, наскільки повинне наростати значення лічильника, використовується ключове слово Step:

 

For iCounter = 1 to 10 Step 2

MsgBox "Лічильник: " & iCounter

Next

 

Можна і зменшувати початкове значення лічильника:

For iCounter = 10 to 1 Step - 2

MsgBox "Лічильник: " & iCounter

Next

 

Для безумовного виходу з конструкції For...Next використовується команда Exit For:

 

VStop = InputBox("Введіть значення останову")

VInput = CInt(VStop)

For iCounter = 1 to 10

MsgBox "Лічильник: " & iCounter

If iCounter =VInput Then Exit For

Next

 

Інший варіант циклу— Do While..Loop. Усе виглядає так само, за одним виключенням: цикл виконуватиметься до тих пір, поки умова істинна.

 

Do While MyVar <= 10

MyVar = MyVar + 1

MsgBox "MyVar = " & MyVar

Loop

 

Можна переписати цикл так, щоб умова перевірялася після завершення циклу:

 

Do

MyVar = MyVar + 1

WScript.Echo "MyVar = " & MyVar

Loop While MyVar < 10

 

В цьому випадку цикл буде виконаний, принаймні, один раз. Негайний вихід з циклу можна зробити по команді Exit Do.

 

Типові алгоритми циклічної обробки інформації

4. Встановити необхідність циклічної обробки та її відношення до виводу результуючої інформації:

- циклічна обробка + вивід після циклу

- циклічна обробка із виводом.

5. Встановити тип циклічної обробки: по умові із зміною індексу або по перерахунку

6. Встановити спосіб побудови результату:

- Безпосередні обчислення

- Сумування або добутки

- S=0

- Цикл

- S=S+A

- ВсеЦикл

- D=0

- Цикл

- D=D*A

- ВсеЦикл

- рекурентні формули

- ‘Початкові присвоєння

- A0=1

- A1=1

- Цикл

- ‘Обчислення

- A2=A1+A0

- ‘Оновлення рекуренції

- A0=A1

- A1=A2

- ВсеЦикл

7. Алгоритм розв’язання задачі:

- опис змінних

- ввід даних

- перевірка коректності даних

- формування і вивід результату

- очищення форми виводу

 

Архітектура персонального комп'ютера.

Основна компонування частин комп'ютера і зв'язок між ними називається архітектурою. При описі архітектури комп'ютера визначається склад входять до нього компонент, принципи їх взаємодії, а також їх функції і характеристики.

Рис. 1 Архітектура персонального комп'ютера


Практично всі універсальні ЕОМ відображають класичну неймановскую архітектуру, представлену на схемі. Ця схема багато в чому характерна як для мікроЕОМ, так і для міні ЕОМ та ЕОМ загального призначення.

Розглянемо пристрої докладніше.

Основна частина системної плати-мікропроцесор (МП) або процесор (CentralProcessingUnit), він керує роботою всіх вузлів ПК і програмою, яка описує алгоритм розв'язуваної задачі. МП має складну структуру у вигляді електронних логічних схем. У якості його компонент можна виділити:

А) АЛУ-арифметико-логічний пристрій, призначений для виконання арифметичних і логічних операцій над даннямі та адресами пам'яті.

Б) Регістри або мікропроцесорна пам'ять-сверхоперативная пам'ять, що працює зі швидкістю процесора, АЛУ працює саме з ними.

B). УУ-пристрій управління-управління роботою всіх вузлів МП за допомогою вироблення і передачі іншим його компонентів управляючих імпульсів, що надходять від кварцового тактового генератора, який при включенні ПК починає вібрувати з постійною частотою (100МГц 400МГц-0, 200). Ці коливання і задають темп роботи всієї системної плати;
Г) СПР-система переривань, спеціальний реєстр, що описує стан МП, що дозволяє переривати роботу МП в будь-який момент часу для негайної обробки деякого надійшов запит, або постановки його в чергу,. Після обробки запиту Спр забезпечує відновлення перерваного процесу;

Д) Пристрій управління спільною шиною -. Інтерфейсна система.

 

Для розширення можливостей ПК і підвищення функціональних характеристик мікропроцесора додатково може поставлятися математичний співпроцесор, службовець для розширення набору командМП. Наприклад, математичний співпроцесор IBM-сумісних ПК розширює можливості МП для вичислення з плаваючою точкою; співпроцесор в локальних мережах (LAN-процесор) розширює функції МП в локальних мережах.
Характеристики процессора:

Швидкодія (продуктивність, тактова частота)-кількість операцій, які виконуються в секунду.
розрядність-максимальна кількість розрядів дволічного числа, над якими одночасно може виконуватися машинна операція.

 

Інтерфейсна система-це:

-Шина управління (ШУ)-призначена для передачі управляючих імпульсів і синхронізації сигналів до всіх пристроїв ПК;

-Шина адреси (ША)-призначена для передачі коду адреси комірки пам'яті або порту вводу / виводу зовнішнього пристрою;

-Шина даннях (ШД)-призначена для паралельної передачі всіх розрядів числового коду;
-Шина живлення - для підключення всіх блоків ПК до системи електроживлення.


Інтерфейсна система забезпечує три напрямки передачі інформації:
-Між МП і оперативною пам'яттю;

-Між МП і портами введення / виводу зовнішніх пристроїв;
-Між оперативною пам'яттю і портами введення / виводу зовнішніх пристроїв. Обмін інформацією між пристроями та системною шиною відбувається з омощью кодовASCII.


Пам'ять - пристрій для зберігання інформації у вигляді даннях і програм. Пам'ять ділиться передусім на внутрішню (розташовану на системній платі) і зовнішню (розміщену на різноманітних зовнішніх носіях інформації).
Внутрішня пам'ять в свою чергу поділяється на:


-ПЗУ (постійне запам'ятовуючий пристрій) або ROM (тільки для читання пам'яті), яке містить - постійну інформацію, що зберігається навіть при відключеному харчуванні, яка служить для тестування пам'яті і устаткування комп'ютера, початкового завантаження ПК при включенні. Запис на спеціальну юкассету ПЗУ відбувається на заводі фірми-виробника ПК і несе риси його індивідуальності. Обсяг ПЗУ відносно невеликий - від 256 Кб до 64.

 

-ОЗУ (оперативний запам'ятовуючий пристрій, ОП - оперативна япамять) або ОЗУ (оперативне запам'ятовуючий пристрій), служить для оперативного зберігання програм і даних, які зберігаються тільки на період роботи ПК. Вона енерго залежна, при відключенні живлення інформація втрачається. ОП виділяється особами функціями і специфікою доступа:

(1) ОП зберігає не тільки дані, але і виконувану програму;
(2) МП має можливість прямого доступу в ОП, минаючи систему введення / виведення.


Кеш - пам'ять - має малий час доступу, служить для тимчасового зберігання проміжних результатів та вмісту найбільш часто використовуваних осередків ОП та регістрів МП.
Об'єм кеш-пам'яті залежить від моделі ПК і становить звичайно 256 Кб.


Зовнішня пам'ять. Пристрої зовнішньої пам'яті вельми різноманітні. Запропонована класифікація враховує тип носія, тобто матеріального об'єкта, здатного зберігати інформацію. Накопичувачі на магнітній стрічці, диску оптичному диску


Контролери служать для забезпечення прямої святи з ОП, минаючи МП, вони використовуються для пристроїв бістро обміну даннямі з ОП-НГМД, НЖД, дисплей та ін, Забезпечення роботи в груповому або мережевому режимі. Клавіатура, дисплей, миша являються повільними пристроями, тому вони пов'язані з системною платою контролерами і мають у ВП свої відведені ділянки пам'яті.


Порти бувають вхідними та вихідними, універсальними (введення-виведення), вони служать для забезпечення обмілити інформацією ПК із зовнішніми, не дуже швидкими пристроями. Інформація, що надходить через порт, прямує в МП, а потім в ОП. Виділяють два види портів

послідовний-забезпечує побитной обмін інформацією, Обачного до порту підключають модем;
паралельний-забезпечує побайтно обмін інформацією, до такого порту підключають принтер.

Сучасні ПК звичайно обладнані паралельним і 1 2 послідовними портами.

 

Машинна мова (англ. машинний код, машинний мова) - система кодів (команд), безпосередньо зрозумілих процесору, тобто таких, які можуть бути виконані ним безпосередньо, без перекладу. Кожна модель процесора має свій власний машинний мову, хоча в багатьох моделях ці набори команд сильно перекриваються. Кажуть, що процесор сумісний з процесором B якщо процесор повністю "розуміє" машинний код процесора B. Якщо процесор знає декілька команд, яких не розуміє процесор B, B то несумісний з A

 

"Слова" машинного мови називаються машинними інструкціями. Кожна з них описує елементарну дію, що виконується процесором, таке як "переслати байт з пам'яті в регістр". Програма - це просто довгий список інструкцій, виконуваних процесором.

 




Поделиться с друзьями:


Дата добавления: 2014-12-23; Просмотров: 475; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.438 сек.