| Microsoft Excel, Нужна помощь!!! Спасибо | 
Здравствуйте Гость [ Вход | Регистрация ] | Форум в сети 7169-й день
|  | Шановні користувачі! Запрошуємо вас до офіційного телеграм-канала 0day Community. Тут ви зможете поспілкуватися одне з одним та дізнатися про останні новини щодо роботи ресурса, поставити запитання до адміністрації, тощо. Перейти до телеграм-канала можна відсканувавши QR-код або натиснувши на посилання: @zeroday_ua | 
| Microsoft Excel, Нужна помощь!!! Спасибо | 
| k1nd3rr | 
				 Пост
					#1				
			 | 
| Репутация:  2  Дух Группа: Пользователи Сообщений: 23 С нами с: 4-July 08  | Ребята нужно помощь в Excel( я не особо силен в этой сфере) , или с формулой или макросом, кто готов помощь напишите в личку, буду очень благодарен! | 
|   | 
| Dr.Sydorenko | 
				 Пост
					#2				
			 | 
| Репутация:  164  Старожил     Группа: Пользователи Сообщений: 2 348 С нами с: 27-June 12  | Хоть бы задание описал, а то такое... | 
| k1nd3rr | 
				 Пост
					#3				
			 | 
| Репутация:  2  Дух Группа: Пользователи Сообщений: 23 С нами с: 4-July 08  | |
| k1nd3rr | 
				 Пост
					#4				
			 | 
| Репутация:  2  Дух Группа: Пользователи Сообщений: 23 С нами с: 4-July 08  | Sub ggg() Dim TheDate As Date ' Declare variables. Dim Date180 As Date Dim ValueDate Dim Sum As Integer Dim Msg Dim sheetWithKvit As Worksheet Set sheetWithKvit = Worksheets("Лист1") TheDate = Range("b9") Date180 = TheDate - 180 If Date180 >= Range("a2") And Date180 <= Range("b2") Then ValueDate = -DateDiff("d", Range("b2"), Date180) Range("D3").FormulaLocal = "=СУММ(C3:C9)" Msg = Range("D3") Sum = Msg + ValueDate Worksheets("Лист1").Range("D2").Value = Date180 Worksheets("Лист1").Range("D4").Value = Sum End If ' Msg = "Days from today: " & Date180 ' MsgBox Msg End Sub http://www.ex.ua/272316129447 - ссылка на файл где что нужно добавить? нечего не получается, помогите!!! Сообщение отредактировал k1nd3rr - Sep 12 2016, 13:34 | 
| Kurator | 
				 Пост
					#5				
			 | 
| Репутация:  171  Java Developer   Группа: Пользователи Сообщений: 673 С нами с: 22-January 08  | Вообще, формулой такое не решить, так как низзя цикл написать (насколько я знаю...). А с VBA я не сильно дружу. Поэтому набросал другое решение, оно простое, но не слишком элегантное. В приложенном файле: А16 - стартовая дата; С1 - Стартовая дата - 180 дней. А1 - А14 - Даты поездок. В16 - сумма дат, которые попадают в диапазон. В1 - В14 - Индикатор попадает ли поездка в заданный диапазон. Скачать файл можно отсюда Если такое решение подходит, то его можно сделать более элегантным (например в ячейках В1 - В14 цвет шрифта сделать белым  ), так как этот вариант набросан на коленке за 5 минут. | 
| k1nd3rr | 
				 Пост
					#6				
			 | 
| Репутация:  2  Дух Группа: Пользователи Сообщений: 23 С нами с: 4-July 08  | Вообще, формулой такое не решить, так как низзя цикл написать (насколько я знаю...). А с VBA я не сильно дружу. Поэтому набросал другое решение, оно простое, но не слишком элегантное. В приложенном файле: А16 - стартовая дата; С1 - Стартовая дата - 180 дней. А1 - А14 - Даты поездок. В16 - сумма дат, которые попадают в диапазон. В1 - В14 - Индикатор попадает ли поездка в заданный диапазон. Скачать файл можно отсюда Если такое решение подходит, то его можно сделать более элегантным (например в ячейках В1 - В14 цвет шрифта сделать белым  ), так как этот вариант набросан на коленке за 5 минут. у тебя тут слишком все банально) нужен цикл...нужны знания VB Сообщение отредактировал k1nd3rr - Sep 12 2016, 13:36 | 
| Kurator | 
				 Пост
					#7				
			 | 
| Репутация:  171  Java Developer   Группа: Пользователи Сообщений: 673 С нами с: 22-January 08  | |
| k1nd3rr | 
				 Пост
					#8				
			 | 
| Репутация:  2  Дух Группа: Пользователи Сообщений: 23 С нами с: 4-July 08  | |
| mega K. | 
				 Пост
					#9				
			 | 
| Репутация:  29  Активист  Группа: Пользователи Сообщений: 242 С нами с: 1-July 07  | =SUMIFS(C2:C9,A2:A9,"<="&D2,B2:B9,">="&D2) | 
| Carnifex | 
				 Пост
					#10				
			 | 
| Репутация:  16  Дух Группа: Пользователи Сообщений: 179 С нами с: 5-July 09  | где что нужно добавить? нечего не получается, помогите!!! Что значит "не получается", блин? Ошибка какая? Начнем с того что у Вас закоментарен вывод Мессэдж бокса - он Вам нужен или как? Dim Msg не имеет типа а должен быть String. И вообще, включите Option Explicit чуть выше по коду. Это у Вас экзешник или расширение для Экселя? | 
| Carnifex | 
				 Пост
					#11				
			 | 
| Репутация:  16  Дух Группа: Пользователи Сообщений: 179 С нами с: 5-July 09  | Пока просто ровный код: » Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть...  « Сообщение отредактировал Carnifex - Sep 13 2016, 13:47 | 
| Carnifex | 
				 Пост
					#12				
			 | 
| Репутация:  16  Дух Группа: Пользователи Сообщений: 179 С нами с: 5-July 09  | Так. У меня код прошел без ошибок. Кстати, в ВБЕ Экселевском есть отладка если точку останова поставить и запустить код на выполнение. Щас че-то оформимс... Сообщение отредактировал Carnifex - Sep 13 2016, 13:52 | 
| Carnifex | 
				 Пост
					#13				
			 | 
| Репутация:  16  Дух Группа: Пользователи Сообщений: 179 С нами с: 5-July 09  | Вот код: » Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть...  « Первая колонка твоего документа была принята за начало поездки, вторая - за конец. Дату, вплоть до которой нужно посчитать количество поездок вбиваешь в ячейку E2. Если не нужно всплывающее окошко - дай знать или убери сам. Там захардкожено пару мест - мне леньки было писать фильтр значений. Если че - можно немного причесать это дело. Сообщение отредактировал Carnifex - Sep 13 2016, 14:31 | 
| k1nd3rr | 
				 Пост
					#14				
			 | 
| Репутация:  2  Дух Группа: Пользователи Сообщений: 23 С нами с: 4-July 08  | Вот код: » Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть...  « Первая колонка твоего документа была принята за начало поездки, вторая - за конец. Дату, вплоть до которой нужно посчитать количество поездок вбиваешь в ячейку E2. Если не нужно всплывающее окошко - дай знать или убери сам. Там захардкожено пару мест - мне леньки было писать фильтр значений. Если че - можно немного причесать это дело. Sub ggg() Dim TheDate As Date Dim Date180 As Date Dim ValueDate Dim Sum As Integer Dim i As Integer, w As Integer, a As Integer Dim Msg Dim sheetWithKvit As Worksheet ILustRow = Cells(Rows.Count, "B").End(xlUp).Row TheDate = Cells(ILustRow, "B") Date180 = TheDate - 180 i = 1 w = ILustRow Do While w > 2 w = w - 1 If Date180 >= Cells(w, "A") And Date180 <= Cells(w, "B") Then ValueDate = -DateDiff("d", Cells(w, "B"), Date180) a = Application.Sum(Range(Cells(w + 1, "C"), Cells(ILustRow, "C"))) 'Msg = Range("D3") Sum = a + ValueDate Exit Do Else Do While w > 2 If Date180 < Cells(w, "A") Then a = Application.Sum(Range(Cells(w, "C"), Cells(ILustRow, "C"))) Sum = a End If Exit Do Loop End If Loop Cells(ILustRow, "D").Value = Date180 Cells(ILustRow, "E").Value = Sum End Sub вот полностью рабочий код) уже разобрался, СПАСИБО! | 
| Carnifex | 
				 Пост
					#15				
			 | 
| Репутация:  16  Дух Группа: Пользователи Сообщений: 179 С нами с: 5-July 09  | Ok) Пиши если че) | 
|   | 
|   | Упрощённая версия | Сейчас: 31st October 2025 - 10:51 | 
| Сайт не розміщує електронні версії творів, а займається лише колекціонуванням та каталогізацією посилань, що публікуються нашими користувачами. Якщо Ви є правовласником якоїсь частини опублікованого матеріалу та не бажаєте, щоб посилання на нього знаходилось в нашому каталозі, зв’яжіться з нами і ми видалимо його. Файли для обміну надані користувачами сайту і адміністрація не несе відповідальності за їх вміст. |