AndreTM написал: Правда, необходимо соблюдение ещё нескольких условий по расположению данных, но это уже мелочи...
а какие условия ? расскажите эти мелочи, пожалуйста . стало очень интерессно. эта галочка стоит по умолчанию , но не везде формулы распространяются. я впервые с таким столкнулся.
50 times helped - they forgot, 1 time refused - they memorized
Доброго дня и всем здоровья, подскажите, как появляется формула в 10й строке ? если ввести данные в колонки B и C , рядом появляется формула...откуда ? я уже облазил все возможные условные форматирования и т.д. но так и не нашел ответ на свой вопрос . Вопрос чисто из любопытства. Заранее спасибо P.S. сюда залил гифку http://screenshot.ru/upload/image/SHkN где наглядно показываю как это происходит.
copper-top написал: наверное, автор не знает о нарушении в названии темы.
уважаемый купертоп , просто иногда сложно выразится , поэтому не придумал ничего другого . Если это нарушение, прошу поменять название темы , на предложенную вами.
50 times helped - they forgot, 1 time refused - they memorized
этот вариант идеально работает ! спасибо огромное !
спасибо, в идеальной таблице без дополнительных строк , столбцов , работает ! спасибо за вариант . но в оригинальном файле почему то не работает , видимо из за того что там есть пустые строки, столбцы и доп данные . но вариант рабочий в некоторых случаях.
50 times helped - they forgot, 1 time refused - they memorized
добрый день , уважаемые форумчане, в очередной раз обращаюсь к вам за помощью для решения вот такой вот интерессной проблемки. есть две таблицы , с одной из них нужно брать данные(функция ВПР идеально бы подошла, но проблема в том что таблицы не одинаковые , в одной таблице даты идут попорядку от 01 до 31 , во второй , с которой нужно брать данные, даты идут хаотично, 01, 03, 04,06,09 и т.д.) подскажите, есть ли выход из данной ситуации ? Заранее благодарю .
50 times helped - they forgot, 1 time refused - they memorized
JayBhagavan написал: В файле покажите результат того, что Вы хотите получить,
я постарался выложить свою мысль,нужно среднее значение с ПН по ВС даже переходящие из месяца в месяц . если в месяце 30 дней, значит 31й день не должно брать, даже если он есть в табличке .
50 times helped - they forgot, 1 time refused - they memorized
kim написал: Почему бы даты сразу не писать как даты, применяя соответствующий формат ячейки?
дело в том что я хочу иметь универсальный файл на все года,если даты пропишу как даты, то нужно будет каждый год менять формат . ну или придумать способ чтобы даты меняли автоматически как только наступает новый год.
50 times helped - they forgot, 1 time refused - they memorized
добрый день , уважаемые форумчане и гуру экселя! обращаюсь к вам в очередной раз за помощью. есть ли возможность из таблички в приложении брать среднее значение за неделю с ПН по ВС ,чтобы как то система понимала что 01 это 01.06.2017 и что это четверг и выводило в табличку среднее значение за недели в месяце. например за июль будет 4 недели и в табличке за неделю номер 1 будет с 29.05.2017 по 04.06.2017. Сложновато объяснить, если не понятно, пожалуйста, уточняйте , постараюсь обьяснить . ломаю голову , пытался уже прибегунть к vba (желательно конечно формулами) , но как то все не то получается...
50 times helped - they forgot, 1 time refused - they memorized
Caho написал: А что если отлавливать номер ошибки?
Вроде бы получилось, спасибо большое за помощь!
Код
On Error Resume Next
err_msg = session.findById("wnd[2]/usr/txtMESSTXT1").Text
errr = Err.Number
If errr = "619" Then GoTo 2
If err_msg Like "Material already maintained for this" Then
session.findById("wnd[2]").Close
session.findById("wnd[1]/tbar[0]/btn[12]").press
Cells(x, 3) = "Material already exist with this location"
End If
GoTo 3
2:
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[1]/usr/btnSPOP-OPTION1").press
Cells(x, 3) = "Material created"
3:
Next
50 times helped - they forgot, 1 time refused - they memorized
доброго времени суток, подскажите, пожалуйста, в чем может быть проблема ? Есть код , в котором нужно выбирать один из вариантов выполнения
Код
Sub setupcodovww()
Application.ScreenUpdating = False
Dim x As Long, a()
Dim b As String
If Not IsObject(sapplication) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set sapplication = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(Connection) Then
Set Connection = sapplication.Children(0)
End If
If Not IsObject(session) Then
Set session = Connection.Children(0)
End If
If IsObject(WScript) Then
WScript.Connection session, "on"
WScript.Connection sapplication, "on"
End If
Range("C2:C100000").ClearContents
a = Range("B1", Range("A1").End(xlDown)).Value
For x = 2 To UBound(a)
If Len(CStr(a(x, 1))) = 0 Then Exit For
session.findById("wnd[0]/tbar[0]/okcd").Text = "/nmm01"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/ctxtRMMG1-MATNR").Text = a(x, 1)
session.findById("wnd[0]/usr/ctxtRMMG1-MATNR").caretPosition = 8
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[1]/usr/ctxtRMMG1-WERKS").Text = "a709"
session.findById("wnd[1]/usr/ctxtRMMG1-LGORT").Text = a(x, 2)
session.findById("wnd[1]/usr/ctxtRMMG1-LGORT").caretPosition = 4
session.findById("wnd[1]").sendVKey 0
On Error GoTo 2
err_msg = session.findById("wnd[2]/usr/txtMESSTXT1").Text
If err_msg Like "Material already maintained for this" Then
session.findById("wnd[2]").Close
session.findById("wnd[1]/tbar[0]/btn[12]").press
Cells(x, 3) = "Material already exist with this location"
End If
GoTo 3
2:
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[1]/usr/btnSPOP-OPTION1").press
Cells(x, 3) = "Material created"
3:
Next
Application.ScreenUpdating = True
End Sub
эта строка err_msg = session.findById("wnd[2]/usr/txtMESSTXT1").Text она вылавливает текст в спомогательном окне программы, это окно в зависимости от ситуации, может появлятся или не появлятся . так вот , когда оно не появляется, у меня после первого прохождения цикла обработчик ошибки работает, на следующем круге , этот обработчик игнорирует и выдает ошибку , как если бы этого обработчика не было (скрин шот в приложении) . Подскажите, как обмануть данную ситуацию ?
50 times helped - they forgot, 1 time refused - they memorized
в том то и дело что файл закрытый с которого тянутся данные . Это нужно конечно делать один раз в год, но все же , менять очень много и не хотелось бы день тратить на изменения .наверное все таки vba / так как формулы не очень стабильная штука.
50 times helped - they forgot, 1 time refused - they memorized
наверное так не получиться, я присвоил обеим частям имя и обьединил их..получился просто текст..а мне нужна формула . у меня есть файл , в котором данные тянутся с другого файла с разных ячеек ='L:\IWS\1_10_SN_Pillar\1_10_2 SN Pillar DMS''s\1. DMS FY1617\DDI_SWP FY1617\[20.DDI SWP 1617.xlsm]July 16'!А1..!А2 т.д. , как мне этот файл быстро изменять ='L:\IWS\1_10_SN_Pillar\1_10_2 SN Pillar DMS''s\1. DMS FY1617\DDI_SWP FY1617\[20.DDI SWP 1617.xlsm]July 16' вот эту часть? можно конечно через ctrl+H , но это тоже немного геморно и долго, так как значений и вкладок очень много . может есть какой то способ ускорить процесс ? я уже подумываю в сторону VBA .
50 times helped - they forgot, 1 time refused - they memorized
добрый день, подскажите, пожалуйста, есть ли возможность вписать в имя адресс файла ? есть адресс ='L:\IWS\1_10_SN_Pillar\1_10_2 SN Pillar DMS''s\1. DMS FY1617\DDI_SWP FY1617\[20.DDI SWP 1617.xlsm]July 16'!G$11 хочу разделить этот адресс на ='L:\IWS\1_10_SN_Pillar\1_10_2 SN Pillar DMS''s\1. DMS FY1617\DDI_SWP FY1617\[20.DDI SWP 1617.xlsm]July 16' и !G11 так как левая часть это постоянная, а правая переменная Есть ли такая возможность взять ='L:\IWS\1_10_SN_Pillar\1_10_2 SN Pillar DMS''s\1. DMS FY1617\DDI_SWP FY1617\[20.DDI SWP 1617.xlsm]July 16' в переменную имени ? присвоить ей имя и в дальнейшем использовать в формуле типа =имя!G11 ? или может есть другое решение ?
Заранее спасибо.
50 times helped - they forgot, 1 time refused - they memorized
Если дата записана датой, то при любых региональных настройках она - число
Даже если поменять формат ячейки на правильный (выбрать кастом и выбрать правильный регион и формат), все равно эту ячейку воспринимает как текст , если в винде стоит американский регион . я уже как только не крутил,
50 times helped - they forgot, 1 time refused - they memorized
да я понимаю, только у одного человека виндовс американский формат даты стоит , у второго украинский, у третьего китайский и т.д. в итоге не воспринимает формат типа 31.12.2017 =) ладно, значит люди с не украинским форматом обойдутся без макроса ))) видимо не все ситуации можно победить
50 times helped - they forgot, 1 time refused - they memorized
я так понимаю , это функция преобразования даты типа 01.01.2017 в 01/01/2017 . Это конечно здорово, но мне нужно чтобы виндовс воспринимала как дату именно такой формат 01.01.2017 без преобразования. Такое возможно? или без преобразования никак ?
50 times helped - they forgot, 1 time refused - they memorized
Добрый день , уважаемые форумчане . Подскажите, пожалуйста, такую задачку не могу решить . Есть файл с датой 01.01.2017 ( украинский формат даты) и Есть системные настройки винды , с американским форматом типа mm/dd/yyyy и макрос не воспринимает дату в формате 01.01.2017(dd.mm.yyyy) как дату, он воспринимает это как текст . Как преобразовать дату типа 01.01.2017 в формат даты ? чтобы виндовс с американским форматом, понимал что перед ним дата , а не текст .
столкнулся с маленькой проблемкой , пытаюсь очищать ячейки на нескольких листах , т.е. очистили на листе 1 , активируем лист 2 и там очищаем . Выдает такую ошибку - Method 'Union' of object '_Global' failed .
Код
Sub NoLockedClearV1()
Dim cl As Range
Dim rng As Range
For s = 1 To 31
Sheets(s).Activate
With ActiveSheet
For Each cl In .UsedRange.Cells
If Not cl.Locked Then
If Not rng Is Nothing Then
Set rng = Union(rng, cl)
Else
Set rng = cl
End If
End If
Next
If Not rng Is Nothing Then rng.ClearContents
End With
Next s
End Sub
50 times helped - they forgot, 1 time refused - they memorized
Спасибо JayBhagavan , работает быстро, только в строке If Not cl.Locked нужно добавить Then . Попробую разобраться в коде, понять как он работает! примного благодарен .
50 times helped - they forgot, 1 time refused - they memorized
Добрый вечер, извиняюсь за офтоп, посоветовали открыть другую тему. Подскажите, пожалуйста, есть макрос, который очищает значения всех незащищенных ячеек . Так вот , столкнулся с проблемой, что он не очищает в объединенных ячейках.
Код
Sub NoLockedClear()
Dim cl As Range
With ActiveSheet
For Each cl In .UsedRange.Cells
If Not cl.Locked Then cl.ClearContents
Next
End With
End Sub
Изменил код на :
Код
Sub NoLockedClear()
Dim cl As Range
With ActiveSheet
For Each cl In .UsedRange.Cells
If Not cl.Locked Then cl.MergeCells.ClearContents
Next
End With
End Sub
этот макрос удаляет со всех ячеек, обычных и объединенных , но он работает уж очень долго , если листов много, где нужно очистить данные, то выполнятся он будет минуты . Есть ли какой то другой способ очистить все незащищенные ячейки(включая объединенные) ?
50 times helped - they forgot, 1 time refused - they memorized