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

Вход

Регистрация

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

 

= Мир MS Excel/Записи участника (krosav4ig) - Мир MS Excel

Результаты поиска
krosav4ig Дата: Пятница, 30.01.2015, 20:51 | Сообщение № 1821 | Тема: Конвертация зарплаты из каждые две недели в месячную
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
формулы исправил, добавил динамические ссылки, но у вас по-моему есть ошибки в исходных данных (выделил красным), в одном месте (в 7 строке) неправильный день недели и нечетный номер недели (если вы платите со второй недели через две, то должна быть четная) из-за этого формула Александра (_Boroda_) некорректно считает значение из этой строки, причем в два месяца. В другом месте тоже неправильный день недели и нечетный номер недели, в обоих местах стоит пометка ps

прочитайте мой предыдущий пост, вы могли его не заметить
К сообщению приложен файл: Book1-23-1.xlsx (10.7 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Пятница, 30.01.2015, 20:53
 
Ответить
Сообщениеформулы исправил, добавил динамические ссылки, но у вас по-моему есть ошибки в исходных данных (выделил красным), в одном месте (в 7 строке) неправильный день недели и нечетный номер недели (если вы платите со второй недели через две, то должна быть четная) из-за этого формула Александра (_Boroda_) некорректно считает значение из этой строки, причем в два месяца. В другом месте тоже неправильный день недели и нечетный номер недели, в обоих местах стоит пометка ps

прочитайте мой предыдущий пост, вы могли его не заметить

Автор - krosav4ig
Дата добавления - 30.01.2015 в 20:51
krosav4ig Дата: Пятница, 30.01.2015, 19:51 | Сообщение № 1822 | Тема: Конвертация зарплаты из каждые две недели в месячную
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
RMMMM, в 2007, но в файле xls не формула не введется, нужен формат xlsx


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеRMMMM, в 2007, но в файле xls не формула не введется, нужен формат xlsx

Автор - krosav4ig
Дата добавления - 30.01.2015 в 19:51
krosav4ig Дата: Пятница, 30.01.2015, 19:47 | Сообщение № 1823 | Тема: Конвертация зарплаты из каждые две недели в месячную
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
RMMMM, расписал свою формулу, посмотрите, вдруг правильно считает (у меня считается сумма за дни месяца предшествующие дню оплаты)
К сообщению приложен файл: Book1-22-1-.xlsx (15.8 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Пятница, 30.01.2015, 19:50
 
Ответить
СообщениеRMMMM, расписал свою формулу, посмотрите, вдруг правильно считает (у меня считается сумма за дни месяца предшествующие дню оплаты)

Автор - krosav4ig
Дата добавления - 30.01.2015 в 19:47
krosav4ig Дата: Пятница, 30.01.2015, 18:32 | Сообщение № 1824 | Тема: Конвертация зарплаты из каждые две недели в месячную
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
RMMMM, совсем забыл, эта формула
Код
=СУММПРОИЗВ(ЕСЛИ(ЕНД(ПОИСКПОЗ($A$1:$A$15;ЦЕЛОЕ(РАЗНДАТ(6;КОНМЕСЯЦА(ДАТАМЕС(I2;-МЕСЯЦ(I2));0);"d")/7)*7+6+14*(СТРОКА($1:$28)-1);));;$B$1:$B$15)*((КОНМЕСЯЦА($A1:$A15+2;-1)+1=I$2)*ТЕКСТ(ДЕНЬ($A1:$A15+2);"[>14]14;0")+(КОНМЕСЯЦА($A1:$A15-12;-1)+1=I$2)*($A1:$A15+2>КОНМЕСЯЦА(I$2;0))*(КОНМЕСЯЦА(I$2;0)-$A1:$A15+12))/14)

массивная, для корректного расчета должна вводиться комбинацией Ctrl+Shift+Enter (выделил ее оранжевым), в файле я расписал на примере декабря как эта формула считается без столбца C
К сообщению приложен файл: Book1-22-.xlsx (15.1 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Пятница, 30.01.2015, 18:48
 
Ответить
СообщениеRMMMM, совсем забыл, эта формула
Код
=СУММПРОИЗВ(ЕСЛИ(ЕНД(ПОИСКПОЗ($A$1:$A$15;ЦЕЛОЕ(РАЗНДАТ(6;КОНМЕСЯЦА(ДАТАМЕС(I2;-МЕСЯЦ(I2));0);"d")/7)*7+6+14*(СТРОКА($1:$28)-1);));;$B$1:$B$15)*((КОНМЕСЯЦА($A1:$A15+2;-1)+1=I$2)*ТЕКСТ(ДЕНЬ($A1:$A15+2);"[>14]14;0")+(КОНМЕСЯЦА($A1:$A15-12;-1)+1=I$2)*($A1:$A15+2>КОНМЕСЯЦА(I$2;0))*(КОНМЕСЯЦА(I$2;0)-$A1:$A15+12))/14)

массивная, для корректного расчета должна вводиться комбинацией Ctrl+Shift+Enter (выделил ее оранжевым), в файле я расписал на примере декабря как эта формула считается без столбца C

Автор - krosav4ig
Дата добавления - 30.01.2015 в 18:32
krosav4ig Дата: Пятница, 30.01.2015, 11:53 | Сообщение № 1825 | Тема: Конвертация зарплаты из каждые две недели в месячную
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
укоротил свою формулу
Код
=ЕСЛИОШИБКА(СУММ((ЕСЛИОШИБКА(ВПР(ПРОСМОТР(B1;ЦЕЛОЕ(РАЗНДАТ(6;КОНМЕСЯЦА(ДАТАМЕС(B1;-МЕСЯЦ(B1));0);"d")/7)*7+6+14*(СТРОКА($1:$28)-1))+14;Sheet1!$A$1:$B$15;2;)*(14-B1+ПРОСМОТР(B1;ЦЕЛОЕ(РАЗНДАТ(6;КОНМЕСЯЦА(ДАТАМЕС(B1;-МЕСЯЦ(B1));0);"d")/7)*7+6+14*(СТРОКА($1:$28)-1)))/14;)+ЕСЛИОШИБКА(ВПР(ПРОСМОТР(B1;ЦЕЛОЕ(РАЗНДАТ(6;КОНМЕСЯЦА(ДАТАМЕС(B1;-МЕСЯЦ(B1));0);"d")/7)*7+6+14*(СТРОКА($1:$28)-1))+28;Sheet1!$A$1:$B$15;2;);)+ЕСЛИОШИБКА(ВПР(ПРОСМОТР(B1;ЦЕЛОЕ(РАЗНДАТ(6;КОНМЕСЯЦА(ДАТАМЕС(B1;-МЕСЯЦ(B1));0);"d")/7)*7+6+14*(СТРОКА($1:$28)-1))+42;Sheet1!$A$1:$B$15;2;)*(14-(ПРОСМОТР(B1;ЦЕЛОЕ(РАЗНДАТ(6;КОНМЕСЯЦА(ДАТАМЕС(B1;-МЕСЯЦ(B1));0);"d")/7)*7+6+14*(СТРОКА($1:$28)-1))+42-КОНМЕСЯЦА(B1;0))+1)/14;))^{0;1})-1;"нет данных")


подсмотрел формулу у Александра (_Boroda_) переписал так, для работы не нужен столбец C
Код
=СУММПРОИЗВ(ЕСЛИ(ЕНД(ПОИСКПОЗ($A$1:$A$15;ЦЕЛОЕ(РАЗНДАТ(6;КОНМЕСЯЦА(ДАТАМЕС(I2;-МЕСЯЦ(I2));0);"d")/7)*7+6+14*(СТРОКА($1:$28)-1);));;$B$1:$B$15)*((КОНМЕСЯЦА($A1:$A15+2;-1)+1=I$2)*ТЕКСТ(ДЕНЬ($A1:$A15+2);"[>14]14;0")+(КОНМЕСЯЦА($A1:$A15-12;-1)+1=I$2)*($A1:$A15+2>КОНМЕСЯЦА(I$2;0))*(КОНМЕСЯЦА(I$2;0)-$A1:$A15+12))/14)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеукоротил свою формулу
Код
=ЕСЛИОШИБКА(СУММ((ЕСЛИОШИБКА(ВПР(ПРОСМОТР(B1;ЦЕЛОЕ(РАЗНДАТ(6;КОНМЕСЯЦА(ДАТАМЕС(B1;-МЕСЯЦ(B1));0);"d")/7)*7+6+14*(СТРОКА($1:$28)-1))+14;Sheet1!$A$1:$B$15;2;)*(14-B1+ПРОСМОТР(B1;ЦЕЛОЕ(РАЗНДАТ(6;КОНМЕСЯЦА(ДАТАМЕС(B1;-МЕСЯЦ(B1));0);"d")/7)*7+6+14*(СТРОКА($1:$28)-1)))/14;)+ЕСЛИОШИБКА(ВПР(ПРОСМОТР(B1;ЦЕЛОЕ(РАЗНДАТ(6;КОНМЕСЯЦА(ДАТАМЕС(B1;-МЕСЯЦ(B1));0);"d")/7)*7+6+14*(СТРОКА($1:$28)-1))+28;Sheet1!$A$1:$B$15;2;);)+ЕСЛИОШИБКА(ВПР(ПРОСМОТР(B1;ЦЕЛОЕ(РАЗНДАТ(6;КОНМЕСЯЦА(ДАТАМЕС(B1;-МЕСЯЦ(B1));0);"d")/7)*7+6+14*(СТРОКА($1:$28)-1))+42;Sheet1!$A$1:$B$15;2;)*(14-(ПРОСМОТР(B1;ЦЕЛОЕ(РАЗНДАТ(6;КОНМЕСЯЦА(ДАТАМЕС(B1;-МЕСЯЦ(B1));0);"d")/7)*7+6+14*(СТРОКА($1:$28)-1))+42-КОНМЕСЯЦА(B1;0))+1)/14;))^{0;1})-1;"нет данных")


подсмотрел формулу у Александра (_Boroda_) переписал так, для работы не нужен столбец C
Код
=СУММПРОИЗВ(ЕСЛИ(ЕНД(ПОИСКПОЗ($A$1:$A$15;ЦЕЛОЕ(РАЗНДАТ(6;КОНМЕСЯЦА(ДАТАМЕС(I2;-МЕСЯЦ(I2));0);"d")/7)*7+6+14*(СТРОКА($1:$28)-1);));;$B$1:$B$15)*((КОНМЕСЯЦА($A1:$A15+2;-1)+1=I$2)*ТЕКСТ(ДЕНЬ($A1:$A15+2);"[>14]14;0")+(КОНМЕСЯЦА($A1:$A15-12;-1)+1=I$2)*($A1:$A15+2>КОНМЕСЯЦА(I$2;0))*(КОНМЕСЯЦА(I$2;0)-$A1:$A15+12))/14)

Автор - krosav4ig
Дата добавления - 30.01.2015 в 11:53
krosav4ig Дата: Пятница, 30.01.2015, 03:06 | Сообщение № 1826 | Тема: Конвертация зарплаты из каждые две недели в месячную
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
у мну такая формула получилась, только я трех дней в январе не досчитался...
Код
=ЕСЛИОШИБКА(СУММ((ЕСЛИОШИБКА(ВПР(ПРОСМОТР(B1;ЦЕЛОЕ(РАЗНДАТ(6;КОНМЕСЯЦА(ДАТАМЕС(B1;-МЕСЯЦ(B1)-12*(МЕСЯЦ(B1)=1));0);"d")/7)*7+20+14*(СТРОКА($1:$26)-1))+14;Sheet1!$A$1:$B$15;2;)*(14-B1+ПРОСМОТР(B1;ЦЕЛОЕ(РАЗНДАТ(6;КОНМЕСЯЦА(ДАТАМЕС(B1;-МЕСЯЦ(B1)-12*(МЕСЯЦ(B1)=1));0);"d")/7)*7+20+14*(СТРОКА($1:$26)-1)))/14;)+ЕСЛИОШИБКА(ВПР(ПРОСМОТР(B1;ЦЕЛОЕ(РАЗНДАТ(6;КОНМЕСЯЦА(ДАТАМЕС(B1;-МЕСЯЦ(B1)-12*(МЕСЯЦ(B1)=1));0);"d")/7)*7+20+14*(СТРОКА($1:$26)-1))+28;Sheet1!$A$1:$B$15;2;);)+ЕСЛИОШИБКА(ВПР(ПРОСМОТР(B1;ЦЕЛОЕ(РАЗНДАТ(6;КОНМЕСЯЦА(ДАТАМЕС(B1;-МЕСЯЦ(B1)-12*(МЕСЯЦ(B1)=1));0);"d")/7)*7+20+14*(СТРОКА($1:$26)-1))+42;Sheet1!$A$1:$B$15;2;)*(14-(ПРОСМОТР(B1;ЦЕЛОЕ(РАЗНДАТ(6;КОНМЕСЯЦА(ДАТАМЕС(B1;-МЕСЯЦ(B1)-12*(МЕСЯЦ(B1)=1));0);"d")/7)*7+20+14*(СТРОКА($1:$26)-1))+42-КОНМЕСЯЦА(B1;0))+1)/14;))^{0;1})-1;"нет данных")
К сообщению приложен файл: 0279430.xlsx (11.3 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеу мну такая формула получилась, только я трех дней в январе не досчитался...
Код
=ЕСЛИОШИБКА(СУММ((ЕСЛИОШИБКА(ВПР(ПРОСМОТР(B1;ЦЕЛОЕ(РАЗНДАТ(6;КОНМЕСЯЦА(ДАТАМЕС(B1;-МЕСЯЦ(B1)-12*(МЕСЯЦ(B1)=1));0);"d")/7)*7+20+14*(СТРОКА($1:$26)-1))+14;Sheet1!$A$1:$B$15;2;)*(14-B1+ПРОСМОТР(B1;ЦЕЛОЕ(РАЗНДАТ(6;КОНМЕСЯЦА(ДАТАМЕС(B1;-МЕСЯЦ(B1)-12*(МЕСЯЦ(B1)=1));0);"d")/7)*7+20+14*(СТРОКА($1:$26)-1)))/14;)+ЕСЛИОШИБКА(ВПР(ПРОСМОТР(B1;ЦЕЛОЕ(РАЗНДАТ(6;КОНМЕСЯЦА(ДАТАМЕС(B1;-МЕСЯЦ(B1)-12*(МЕСЯЦ(B1)=1));0);"d")/7)*7+20+14*(СТРОКА($1:$26)-1))+28;Sheet1!$A$1:$B$15;2;);)+ЕСЛИОШИБКА(ВПР(ПРОСМОТР(B1;ЦЕЛОЕ(РАЗНДАТ(6;КОНМЕСЯЦА(ДАТАМЕС(B1;-МЕСЯЦ(B1)-12*(МЕСЯЦ(B1)=1));0);"d")/7)*7+20+14*(СТРОКА($1:$26)-1))+42;Sheet1!$A$1:$B$15;2;)*(14-(ПРОСМОТР(B1;ЦЕЛОЕ(РАЗНДАТ(6;КОНМЕСЯЦА(ДАТАМЕС(B1;-МЕСЯЦ(B1)-12*(МЕСЯЦ(B1)=1));0);"d")/7)*7+20+14*(СТРОКА($1:$26)-1))+42-КОНМЕСЯЦА(B1;0))+1)/14;))^{0;1})-1;"нет данных")

Автор - krosav4ig
Дата добавления - 30.01.2015 в 03:06
krosav4ig Дата: Пятница, 30.01.2015, 00:02 | Сообщение № 1827 | Тема: Максимальное значение каждой строки в диапазоне.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
можно в модуль листа такой код написать
[vba]
Код
Private Sub Worksheet_Calculate()
      Dim rrow As Range
      With Application: .ScreenUpdating = 0: .EnableEvents = 0:: .Calculation = xlCalculationManual
      For Each rrow In Intersect(ActiveSheet.UsedRange, [C:E]).Rows
          rrow.Offset(, 3).Resize(, 1).Formula = "=MAX(" & rrow.Address & ")"
      Next
      .Calculation = xlCalculationAutomatic: .ScreenUpdating = 1: .EnableEvents = 1: End With
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Пятница, 30.01.2015, 00:07
 
Ответить
Сообщениеможно в модуль листа такой код написать
[vba]
Код
Private Sub Worksheet_Calculate()
      Dim rrow As Range
      With Application: .ScreenUpdating = 0: .EnableEvents = 0:: .Calculation = xlCalculationManual
      For Each rrow In Intersect(ActiveSheet.UsedRange, [C:E]).Rows
          rrow.Offset(, 3).Resize(, 1).Formula = "=MAX(" & rrow.Address & ")"
      Next
      .Calculation = xlCalculationAutomatic: .ScreenUpdating = 1: .EnableEvents = 1: End With
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 30.01.2015 в 00:02
krosav4ig Дата: Четверг, 29.01.2015, 12:49 | Сообщение № 1828 | Тема: "Длинная" формула, как правильно округлить?
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Калькулятор китайский
видимо сильно китайский, у мну тоже китайский, поставил ограничение 2 знака результат - 641.15. Вы своему помощнику судьи покажите такой фокус: на компе скопируйте в буфер обмена строку ((36076,59-20000)*0,03+800)/2 , запустите калькулятор и нажмите Ctrl+V>Enter

ЗЫ
для разнообразия формула
Код
=ЕСЛИ(AO5;ОКРУГЛ(МИН(ВЫБОР(МИН(СЧЁТ(1/(AO5>10^{4;5;6}*{1:2}));5)+1;200;AO5*0,04/2;((AO5-20000)*0,03+800)/2;((AO5-100000)*0,02+3200)/2;((AO5-200000)*0,01+5200)/2;((AO5-1000000)*0,005+13200)/2);60000);2);"")


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Четверг, 29.01.2015, 12:50
 
Ответить
Сообщение
Калькулятор китайский
видимо сильно китайский, у мну тоже китайский, поставил ограничение 2 знака результат - 641.15. Вы своему помощнику судьи покажите такой фокус: на компе скопируйте в буфер обмена строку ((36076,59-20000)*0,03+800)/2 , запустите калькулятор и нажмите Ctrl+V>Enter

ЗЫ
для разнообразия формула
Код
=ЕСЛИ(AO5;ОКРУГЛ(МИН(ВЫБОР(МИН(СЧЁТ(1/(AO5>10^{4;5;6}*{1:2}));5)+1;200;AO5*0,04/2;((AO5-20000)*0,03+800)/2;((AO5-100000)*0,02+3200)/2;((AO5-200000)*0,01+5200)/2;((AO5-1000000)*0,005+13200)/2);60000);2);"")

Автор - krosav4ig
Дата добавления - 29.01.2015 в 12:49
krosav4ig Дата: Среда, 28.01.2015, 17:03 | Сообщение № 1829 | Тема: Перевод дней в годы и месяцы
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
julytt, а можно так?
Код
=РАЗНДАТ(;B1;"y")

Код
=РАЗНДАТ(;B1;"ym")

Код
=РАЗНДАТ(;B1;"md")
К сообщению приложен файл: 9968552.xlsx (8.7 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеjulytt, а можно так?
Код
=РАЗНДАТ(;B1;"y")

Код
=РАЗНДАТ(;B1;"ym")

Код
=РАЗНДАТ(;B1;"md")

Автор - krosav4ig
Дата добавления - 28.01.2015 в 17:03
krosav4ig Дата: Среда, 28.01.2015, 14:47 | Сообщение № 1830 | Тема: Как в Excel (VBA) выделить 10 строк?
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
вместо [vba]
Код
Application.ScreenUpdating = False
[/vba] (в начале кода)

[vba]
Код
With Application: .ScreenUpdating = 0: .EnableEvents = 0: .DisplayAlerts = 0
[/vba]

вместо [vba]
Код
Application.ScreenUpdating = False
[/vba] (в конце кода. кстати, почему False? вы уже отключили обновление экрана в начале кода, тут нужно его включить (True). Вас спасает только то, что при завершении работы макроса обновление экрана автоматически включается)

[vba]
Код
.ScreenUpdating = 1: .EnableEvents = 1: .DisplayAlerts = 1: End With
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Среда, 28.01.2015, 15:21
 
Ответить
Сообщениевместо [vba]
Код
Application.ScreenUpdating = False
[/vba] (в начале кода)

[vba]
Код
With Application: .ScreenUpdating = 0: .EnableEvents = 0: .DisplayAlerts = 0
[/vba]

вместо [vba]
Код
Application.ScreenUpdating = False
[/vba] (в конце кода. кстати, почему False? вы уже отключили обновление экрана в начале кода, тут нужно его включить (True). Вас спасает только то, что при завершении работы макроса обновление экрана автоматически включается)

[vba]
Код
.ScreenUpdating = 1: .EnableEvents = 1: .DisplayAlerts = 1: End With
[/vba]

Автор - krosav4ig
Дата добавления - 28.01.2015 в 14:47
krosav4ig Дата: Среда, 28.01.2015, 12:52 | Сообщение № 1831 | Тема: Условное форматирование по выражению
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
[vba]
Код
    With tmpRange.Offset(, -6).FormatConditions 'дополнительно подсвечиваем даты из 1-ого Столбца
          .Delete
          With .Add(2, , "=ЕОШИБКА(ВПР(RC;Диапазон_3;2;))")
              .Interior.Color = RGB(204, 204, 153)
          End With
      End With
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Среда, 28.01.2015, 12:59
 
Ответить
Сообщение[vba]
Код
    With tmpRange.Offset(, -6).FormatConditions 'дополнительно подсвечиваем даты из 1-ого Столбца
          .Delete
          With .Add(2, , "=ЕОШИБКА(ВПР(RC;Диапазон_3;2;))")
              .Interior.Color = RGB(204, 204, 153)
          End With
      End With
[/vba]

Автор - krosav4ig
Дата добавления - 28.01.2015 в 12:52
krosav4ig Дата: Вторник, 27.01.2015, 20:29 | Сообщение № 1832 | Тема: Поиск соответствующих значений и суммирование.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
может я чего-то не так понял, но вот что у мну получилось
[vba]
Код
Option Explicit
Function FilenamesCollection(ByVal FolderPath As String, Optional ByVal Mask As String = "", _
                     Optional ByVal SearchDeep As Long = 999) As Collection
      Dim FSO As Object
      Set FilenamesCollection = New Collection
      Set FSO = CreateObject("Scripting.FileSystemObject")
      GetAllFileNamesUsingFSO FolderPath, Mask, FSO, FilenamesCollection, SearchDeep
      Set FSO = Nothing
End Function
Function GetAllFileNamesUsingFSO(ByVal FolderPath As String, ByVal Mask As String, ByRef FSO, _
                     ByRef FileNamesColl As Collection, ByVal SearchDeep As Long)
      Dim curfold As Object, fil As Object, sfol As Object
      On Error Resume Next: Set curfold = FSO.GetFolder(FolderPath)
      If Not curfold Is Nothing Then
          For Each fil In curfold.Files
              If fil.Name Like "*" & Mask Then FileNamesColl.Add fil
          Next
          SearchDeep = SearchDeep - 1
          If SearchDeep Then
              For Each sfol In curfold.SubFolders
                  GetAllFileNamesUsingFSO sfol.path, Mask, FSO, FileNamesColl, SearchDeep
              Next
          End If
          Set fil = Nothing: Set curfold = Nothing
      End If
End Function

Sub sdf()
        Dim con As New ADODB.Connection
        Dim RS  As New ADODB.Recordset
        Dim coll As Collection
        Dim ObjFile As Object
        Dim FilePath$, path$, ConnectionString$
        ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ThisWorkbook.path & ";Extended Properties=dBASE IV"
        'ConnectionString = "Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=" & ThisWorkbook.path
        con.Open ConnectionString$
        con.Execute "create table atable (name Text(50), cnt long)"
        For Each ObjFile In FilenamesCollection(ThisWorkbook.path, ".dbf", 2)
          FilePath = ObjFile.path: path$ = Replace(FilePath, ObjFile.Name, "")
          con.Execute "INSERT INTO atable SELECT Field1 as name, sum(Field2) as cnt From " & ObjFile.Name & " IN '" & path & "' [Dbase IV;DATABASE=" & FilePath & "] group by Field1"
        Next
        RS.Open "select name, sum(cnt) as sumcnt from atable group by name", con, 3, 3
        [A1].CopyFromRecordset RS
        RS.Close
        con.Execute "drop table atable"
        con.Close
        Set con = Nothing: Set RS = Nothing
End Sub
[/vba]
К сообщению приложен файл: qwe.zip (21.6 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Вторник, 27.01.2015, 20:36
 
Ответить
Сообщениеможет я чего-то не так понял, но вот что у мну получилось
[vba]
Код
Option Explicit
Function FilenamesCollection(ByVal FolderPath As String, Optional ByVal Mask As String = "", _
                     Optional ByVal SearchDeep As Long = 999) As Collection
      Dim FSO As Object
      Set FilenamesCollection = New Collection
      Set FSO = CreateObject("Scripting.FileSystemObject")
      GetAllFileNamesUsingFSO FolderPath, Mask, FSO, FilenamesCollection, SearchDeep
      Set FSO = Nothing
End Function
Function GetAllFileNamesUsingFSO(ByVal FolderPath As String, ByVal Mask As String, ByRef FSO, _
                     ByRef FileNamesColl As Collection, ByVal SearchDeep As Long)
      Dim curfold As Object, fil As Object, sfol As Object
      On Error Resume Next: Set curfold = FSO.GetFolder(FolderPath)
      If Not curfold Is Nothing Then
          For Each fil In curfold.Files
              If fil.Name Like "*" & Mask Then FileNamesColl.Add fil
          Next
          SearchDeep = SearchDeep - 1
          If SearchDeep Then
              For Each sfol In curfold.SubFolders
                  GetAllFileNamesUsingFSO sfol.path, Mask, FSO, FileNamesColl, SearchDeep
              Next
          End If
          Set fil = Nothing: Set curfold = Nothing
      End If
End Function

Sub sdf()
        Dim con As New ADODB.Connection
        Dim RS  As New ADODB.Recordset
        Dim coll As Collection
        Dim ObjFile As Object
        Dim FilePath$, path$, ConnectionString$
        ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ThisWorkbook.path & ";Extended Properties=dBASE IV"
        'ConnectionString = "Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=" & ThisWorkbook.path
        con.Open ConnectionString$
        con.Execute "create table atable (name Text(50), cnt long)"
        For Each ObjFile In FilenamesCollection(ThisWorkbook.path, ".dbf", 2)
          FilePath = ObjFile.path: path$ = Replace(FilePath, ObjFile.Name, "")
          con.Execute "INSERT INTO atable SELECT Field1 as name, sum(Field2) as cnt From " & ObjFile.Name & " IN '" & path & "' [Dbase IV;DATABASE=" & FilePath & "] group by Field1"
        Next
        RS.Open "select name, sum(cnt) as sumcnt from atable group by name", con, 3, 3
        [A1].CopyFromRecordset RS
        RS.Close
        con.Execute "drop table atable"
        con.Close
        Set con = Nothing: Set RS = Nothing
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 27.01.2015 в 20:29
krosav4ig Дата: Понедельник, 26.01.2015, 19:06 | Сообщение № 1833 | Тема: Поиск соответствующих значений и суммирование.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
имхо лучше копать в сторону adodb, суммировать запросом например [vba]
Код
SELECT Таблица1.Поле1, SUM(Таблица1.Поле2) FROM Таблица1 group by Таблица1.Поле1
[/vba], и уже результат запроса выгружать на лист


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Понедельник, 26.01.2015, 19:06
 
Ответить
Сообщениеимхо лучше копать в сторону adodb, суммировать запросом например [vba]
Код
SELECT Таблица1.Поле1, SUM(Таблица1.Поле2) FROM Таблица1 group by Таблица1.Поле1
[/vba], и уже результат запроса выгружать на лист

Автор - krosav4ig
Дата добавления - 26.01.2015 в 19:06
krosav4ig Дата: Понедельник, 26.01.2015, 17:40 | Сообщение № 1834 | Тема: Как в Excel (VBA) выделить 10 строк?
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Я там тоже отписался

чего-то не заметно, да и ни тут, ни тут, ссылок на эту тему замечено не было, ни тут не были опубликованы эти ссылки.


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Понедельник, 26.01.2015, 17:43
 
Ответить
Сообщение
Я там тоже отписался

чего-то не заметно, да и ни тут, ни тут, ссылок на эту тему замечено не было, ни тут не были опубликованы эти ссылки.

Автор - krosav4ig
Дата добавления - 26.01.2015 в 17:40
krosav4ig Дата: Понедельник, 26.01.2015, 17:12 | Сообщение № 1835 | Тема: Как в Excel (VBA) выделить 10 строк?
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
RAN, написал [vba]
Код
ActiveWorkbook.SaveAs Filename:= environ("homepath")&"\1 2", FileFormat:=xlWorkbookNormal
[/vba], получил файл "1 2.xls", может быть у вас другая сборка была


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеRAN, написал [vba]
Код
ActiveWorkbook.SaveAs Filename:= environ("homepath")&"\1 2", FileFormat:=xlWorkbookNormal
[/vba], получил файл "1 2.xls", может быть у вас другая сборка была

Автор - krosav4ig
Дата добавления - 26.01.2015 в 17:12
krosav4ig Дата: Понедельник, 26.01.2015, 16:54 | Сообщение № 1836 | Тема: Как в Excel (VBA) выделить 10 строк?
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
без расширения

ниче незнаю, пишу в immediate[vba]
Код
ActiveWorkbook.SaveAs Filename:= environ("homepath")&"\1 2", FileFormat:=6
[/vba], получаю файл "1 2.csv" в корневой папке пользователя :p
[p.s.]Excel - 2007 12.0.4518.1014
ОС - Microsoft Windows Professional SP3 Vol 2600.xpsp_sp3_qfe.130704-0421[/p.s.]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение
без расширения

ниче незнаю, пишу в immediate[vba]
Код
ActiveWorkbook.SaveAs Filename:= environ("homepath")&"\1 2", FileFormat:=6
[/vba], получаю файл "1 2.csv" в корневой папке пользователя :p
[p.s.]Excel - 2007 12.0.4518.1014
ОС - Microsoft Windows Professional SP3 Vol 2600.xpsp_sp3_qfe.130704-0421[/p.s.]

Автор - krosav4ig
Дата добавления - 26.01.2015 в 16:54
krosav4ig Дата: Понедельник, 26.01.2015, 12:34 | Сообщение № 1837 | Тема: Как в Excel (VBA) выделить 10 строк?
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
смотрите мой пост, там документы именуются правильно
или у себя замените [vba]
Код
"C:\Users\Desktop\list" & i & ".csv"
[/vba] на [vba]
Код
"C:\Users\Desktop\list" & i \ 10 & ".csv"
[/vba]
почему у вас
FileFormat:=xlNormal
если

Тут же черным по белому написано, что CSV это xlCSV или 6, а вы сохраняете книгу excel 97-2003 с расширением csv. При правильном указании формата расширение указывать не обязательно, т.е.
[vba]
Код
ActiveWorkbook.SaveAs Filename:= "C:\Users\Desktop\list" & i \ 10, FileFormat:=6
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Понедельник, 26.01.2015, 14:08
 
Ответить
Сообщениесмотрите мой пост, там документы именуются правильно
или у себя замените [vba]
Код
"C:\Users\Desktop\list" & i & ".csv"
[/vba] на [vba]
Код
"C:\Users\Desktop\list" & i \ 10 & ".csv"
[/vba]
почему у вас
FileFormat:=xlNormal
если

Тут же черным по белому написано, что CSV это xlCSV или 6, а вы сохраняете книгу excel 97-2003 с расширением csv. При правильном указании формата расширение указывать не обязательно, т.е.
[vba]
Код
ActiveWorkbook.SaveAs Filename:= "C:\Users\Desktop\list" & i \ 10, FileFormat:=6
[/vba]

Автор - krosav4ig
Дата добавления - 26.01.2015 в 12:34
krosav4ig Дата: Понедельник, 26.01.2015, 02:07 | Сообщение № 1838 | Тема: Ввод данных в таблицу на разных листах
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
[offtop]
Надеюсь "ротом" это "потом", а не "ртом"?
и не рогом :D [/offtop]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение[offtop]
Надеюсь "ротом" это "потом", а не "ртом"?
и не рогом :D [/offtop]

Автор - krosav4ig
Дата добавления - 26.01.2015 в 02:07
krosav4ig Дата: Понедельник, 26.01.2015, 02:02 | Сообщение № 1839 | Тема: Потеря связей в формулах при сохранении файла
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
возможно ошибка возникает из-за функции ДВССЫЛ() (она не работает с закрытыми файлами)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениевозможно ошибка возникает из-за функции ДВССЫЛ() (она не работает с закрытыми файлами)

Автор - krosav4ig
Дата добавления - 26.01.2015 в 02:02
krosav4ig Дата: Понедельник, 26.01.2015, 00:53 | Сообщение № 1840 | Тема: Шпионские игры - шифрование текста.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
но в какой кодировке заливаешь?))

Упс, не доглядел
[vba]
Код
Private Sub AlphaBET()
     ArrA = Evaluate("transpose(mid(""tб<UЁJnx#я.Уd9екwТл{'+2g:ч%M6Y?ЗzКLжi!ющZ§~Qk`" & _
                     "ЖoЦРNдЪВ^7OpRXS ШрDДаCСГHu@ПгjФь>м14G0Нцr;Хэп$|eqBcф,lМтхБm&ш€" & _
                     "ОFо]ИЯ\ЮA[vйс8/3Щ_иЭъVPыз5h=нbTё(-""""y)ув}*ЕЙЫЛЧI№ЬfWАKasE""," & _
                     "row(1:164),1))")
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение
но в какой кодировке заливаешь?))

Упс, не доглядел
[vba]
Код
Private Sub AlphaBET()
     ArrA = Evaluate("transpose(mid(""tб<UЁJnx#я.Уd9екwТл{'+2g:ч%M6Y?ЗzКLжi!ющZ§~Qk`" & _
                     "ЖoЦРNдЪВ^7OpRXS ШрDДаCСГHu@ПгjФь>м14G0Нцr;Хэп$|eqBcф,lМтхБm&ш€" & _
                     "ОFо]ИЯ\ЮA[vйс8/3Щ_иЭъVPыз5h=нbTё(-""""y)ув}*ЕЙЫЛЧI№ЬfWАKasE""," & _
                     "row(1:164),1))")
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 26.01.2015 в 00:53
Поиск:

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