Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 След.
Не получается вывести формулу на VBA ввиде условий
 
Всем привет, помогите написать на VBA формулу  
=ЕСЛИ(W5>50*10^6;ЕСЛИ(ABS(AE5)>0,25*(M5-N5);25%;0);ЕСЛИ(ABS(AE5)>0,25*(O5-P5);25%;0))  
 
что я делаю не так?  
 
If vArr(j, 23) > 50 * 10 ^ 6 Then  
     If Abs(vArr(j, 31)) > (0.25 * (vArr(j, 13) - vArr(j, 14))) Then  
       vArr(j, 32) = "25%": r = 25  
     Else  
       vArr(j, 32) = "+": r = 0  
     End If  
 
 Else  
     
 If Abs(vArr(j, 31)) > (0.25 * (vArr(j, 15) - vArr(j, 16))) Then  
       vArr(j, 32) = "25%": r = 25  
   Else  
       vArr(j, 32) = "+": r = 0  
   End If  
   
  End If  
 
 
где vArr(j, 23) - это значение ячеек столбов
Разный итог
 
Всем добрый вечер!  
Подскажите, пожалуйста, в чем ошибка?  
 
Мне нужно формулу записать в виде программы:  
 
Формула следующая:  
 
oS.Cells(x, 36) = "=IF(RC[-13]>50*10^6,IF(ABS(RC[-5])>0.25*(RC[-23]-RC[-22]),25%,0),IF(ABS(RC[-5])>0.25*(RC[-21]-RC[-20]),25%,0))"
 
 
где:  
RC[-13] - это по программе f
RC[-5] - это w
RC[-23]-RC[-22] - это (z - z1)
RC[-21]-RC[-20] - это (z2 - z3)
 
Код программы:  
 
     On Error Resume Next: w = Abs(CDbl(Replace(vArr(j, 31), ".", ","))): On Error GoTo 0    
     On Error Resume Next: f = Abs(CDbl(Replace(vArr(j, 23), ".", ","))): On Error GoTo 0    
     On Error Resume Next: z = Abs(CDbl(Replace(vArr(j, 13), ".", ","))): On Error GoTo 0    
    On Error Resume Next: z1 = Abs(CDbl(Replace(vArr(j, 14), ".", ","))): On Error GoTo 0  
    On Error Resume Next: z2 = Abs(CDbl(Replace(vArr(j, 15), ".", ","))): On Error GoTo 0  
    On Error Resume Next: z3 = Abs(CDbl(Replace(vArr(j, 16), ".", ","))): On Error GoTo 0  
       
     If f > 50 * 10 ^ 6 Then  
     If Abs(w) > 0.25 * (z - z1) Then  
        vArr(j, 32) = "25%": r = 25  
     ElseIf Abs(w) < 0.25 * (z - z1) Then  
        vArr(j, 32) = "+": r = 0  
     End If  
       
     Else  
     If Abs(w) > tt2(44) * (z2 - z3) Then  
        vArr(j, 32) = "25%": r = 25  
     ElseIf Abs(w) < tt2(44) * (z2 - z3) Then  
        vArr(j, 32) = "+": r = 0  
     End If  
       
     End If    
 
 
 
Но результат разный! Всё наоборот  
по формуле выдает 25%, по программе +  
 
если(229318162182,5>50*10^6;если(ABS(-1,92)>0.25*(79,9-73,76);25%;0);если(ABS(-1,92)>0.25*(82,59-73,76);25%;0)
Автоматически проставить по определенной строчке разрыв страницы
 
Всем привет!  
Подскажите, пожалуйста!  
У меня есть длинный файл с данными, в котором неоднократно встречается строчка "Добрый день!", как автоматически на этой строчке проставить разрыв страницы?
склеить файлы
 
Всем добрый день!  
Подскажите, пожалуйста, как можно склеить из большого количества файлов, хранящихся в одной папке, первые листы в один файл?
Отключить обновление связей
 
Всем привет!  
Подскажите, пожалуйста, как во всех файлах Excel одновременно отключить обновление связей?
Конвертирование таблицы
 
Всем привет!  
Подскажите, пожалуйста!  
Можно ли как-нибудь программно таблицу с данными формата Excel переконвертировать в базу данных формата dbf IV без ручного импорта таблицы в access и последующего его экспорта?  
 
Помогите пожалуйста!
числовой формат
 
Всем привет!  
Подскажите, пожалуйста, как задать числовой формат?  
 
Я пишу Sheets(2).Cells(Count + 1, 15).NumberFormat = "#,##0.00"  
 
 
но у меня в ячейке сумма с запятыми 104,07  
А у меня не должно быть запятых 104.07  
 
То что указываю я, не работает  
Как быть?
задание имени книге
 
Всем доброе утро!  
Подскажите, пожалуйста!  
 
Я полученный результат вывожу в файл, которому задаю имя:  
 
Fname = Left(Str(Now), 2) & Mid(Str(Now), 4, 2) & Mid(Str(Now), 7, 4)  
(текущая дата)  
 
На если при обработке в папке будет 10 файлов, программа всем будет задавать такое имя, можно ли как-то присвоить имя обрабатываемого файла?, то есть  программа у меня просто переводит отчет из excel в csv
Условие вывода данных
 
Всем привет!  
Помогите, пожалуйста, написать условие:  
Есть столбец с данными, нужно написать для него такое условие:  
Если в столбце в наименовании встречается слово отчет, то заменяем это наименование на слово "общий отчет", иначе оставляем тоже наименование  
Вот пример столбца с наименованиями:  
 
В-Отчет 1  
В-Отчет 11  
Журнал  
Внесписочный отчет  
Внесписочный отчет 2    
Машина  
 
 
If Sheets(1).Cells(Count + 1, 7) = .............Then  
Sheets(2).Cells(Count + 1, 2) = "Общий отчет"  
Else  
Sheets(2).Cells(Count + 1, 1) = ""  
End If  
 
 
Итог:  
 
Общий отчет  
Общий отчет  
Журнал  
Общий отчет  
Общий отчет    
Машина  
 
 
Помогите, пожалуйста. Не знаю, как выудить слово отчет из наименования для проставления условия
Выгрузка из Excel в формат .csv
 
Всем привет!  
Подскажите, пожалуйста!  
 
Как дописать выгрузку данных на лист 1 в формат  .csv  с разделителем ";" только листа два книги пример.xls  
 
У меня программа выгружает обработанные данные на лист 2 книги пример.xls  
 
Помогите, пожалуйста!
правильная организация вывода
 
Всем привет!  
Подскажите,пожалуйста, как правильно организовать, не по детски вывод на лист данных нужной книги.  
Сейчас у меня для обработки берутся данные с листа 1 и выводятся на лист2 этой же книги. Мне нужен вывод данных на лист 1 книги2.xls  
 
Dim Count As Long  
     
   Application.ScreenUpdating = False  
     
'   Сортировка по времени и наименованию  
   Sheets(1).Range("C1").Sort _  
       Key1:=Sheets(1).Range("C1"), Order1:=xlAscending, _  
       Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _  
       DataOption1:=xlSortTextAsNumbers, DataOption2:=xlSortTextAsNumbers  
         
'   Склеивание и нумерация с определенным форматом  
 
Count = 1  
Do While Cells(Count + 1, 1).Value <> ""  
Sheets(2).Cells(Count + 1, 1) = Sheets(1).Cells(Count + 1, 9)  
Sheets(2).Cells(Count + 1, 2) = Count & "-" & Format(Now(), "ddmmyyyy") & "-" & "НПФ ТН"  
Sheets(2).Cells(Count + 1, 3) = Format(Now(), "dd.mm.yyyy")  
 
Count = Count + 1  
 
Loop  
 
         
   Application.ScreenUpdating = True
склеивание номера
 
Всем привет!  
Помогите, пожалуйста, написать макрос по наигрыванию номера  
 
 
есть два столбца, время и наименование. Нужно отсортировать столбцы по времени и добавить третий столбец с номером, который будет складываться из:  
порядкового номера наименования + сегодняшняя дата + слово "отчет"  
 
то есть 1-17.08.2010-отчет  
       2-17.08.2010-отчет и так пока не будет конца таблицы  
 
 
Помогите, пожалуйста
Извлечение слова из предложения
 
Всем привет!  
 
Подскажите, пожалуйста, как из предложения извлечь второе слово между двумя пробелами  
 
 
паааfrfff папап апа па  
 
формула =ПСТР(A1;1;НАЙТИ(" ";A1;2)-1) извлечет только первое слово  
 
А как извлечь второе?  
 
Есть ли наподобие функция в VBA&
Перевод отчета из одного формата в другой
 
Всем привет!  
 
Помогите, пожалуйста, в решении такой задачки!  
Есть отчет с данными (в отчете шапка с данными и таблица с данными), нужно определенные данные перенести в столбцы отчета формата csv.  
 
Как это реализовать?  
Подскажите, пожалуйста!
Неправильно анализируются числа, попавшие в определенный диапазон
 
Всем добрый день!  
Помогите, пожалуйста, разобраться в чем причина.  
 
При анализе данных некоторые числа неправильно анализируются.  Почему?  
В файле "пример" желтым цветом выделен столбец с числами, которые анализируются, в файле "оценка" приведен итог, где желтым показано несоответствие. Почему?  
Вот кусочек из программы  
 
On Error Resume Next: w = CDbl(Replace(vArr(j, 5), ".", ",")): On Error GoTo 0  
     Select Case w  
           
           Case Is <= 200:  vArr(j, 6) = "+": n = 1  
           Case Is > 200:  vArr(j, 6) = "-": n = 2  
           End Select  
       Else  
 
Помогите, пожалуйста. Может он вообще не распознает некоторые значения?
Как поставить защиту от изменений
 
У меня программа сохраняет внесенные изменения в форму и заново потом эти измененные параметры использует.  
 
Можно ли поставить какую-то защиту от изменения внутри этого файла людьми, то есть программа сама может менять, а человек открыв файл эту историю изменений ручками подправить не может.  
 
Просто если в безопасности файла я ставлю запреты, то программа не срабатывает. АВыводится сообщение, что файл защищен или зашифрован.
Пароль на книгу
 
Всем привет!  
Скажите, пожалуйста, можно ли поставить пароль на всю книгу и если можно, то как?  
 
То есть, если человек хочет открыть файл, он должен ввести пароль
Ошибка 13: Несоответствие типов
 
Всем доброе утро!  
Подскажите, пожалуйста!  
 
Я произвожу суммирование ячеек, но выводится ошибка о несоответствии типов, как с ней бороться?  
 
В программе пишу  
   i = 6      
   Do While oS.Cells(i, 1).Value <> ""    
   oS.Cells(i, 8).Value = oS.Cells(i, 3).Value + oS.Cells(i, 5).Value  
   i = i + 1  
   Loop  
 
Если в ячейках присутствуют одни цифры, то всё работает.  
У меня же в ячейках либо числа в виде 5%, либо знак плюс "+". Как мне это учесть в коде, чтобы суммировались эти ячейки?  
Если просто записать без макроса формулу СУММ(A6;E6), то всё работает, то есть    
К примеру:  
ячейки: A    E    сумма  
       5%   10%  15%  
       5%   +     5%  
       +    +     0%  
 
Как сделать, чтобы тоже самое выводилось программно, а не выводилась ошибка
Почему сумма выдает неверный результат?
 
Всем привет!  
Подскажите, пожалуйста, в чем причина и как исправить?  
 
Я анализирую данные и каждому параметру присваиваю определенную оценку. К примеру:  
 
'Параметр1  
 
If Len(vArr(j, 12) & "") = 0 Then  
vArr(j, 13) = ""  
Else  
 
On Error Resume Next: w = Abs(CDbl(Replace(vArr(j, 12), ".", ","))): On Error GoTo 0  
 
 
If w >= tt2(30) And w <= tt2(31) Then  
vArr(j, 13) = "0": r = 0  
ElseIf w >= tt2(34) And w <= tt2(35) Then  
vArr(j, 13) = "2": r = 2  
ElseIf w >= tt2(32) And w <= tt2(33) Then  
vArr(j, 13) = "1": r = 1  
End If  
 
End If  
 
'метка совсем плохо  
If Len(vArr(j, 14)) > 0 Then  
vArr(j, 15) = "совсем плохо"  
Else  
vArr(j, 14) = ""  
 
 
If Application.Sum(M, n, P, r, d, v) >= 0 And Application.Sum(M, n, P, r, d, v) <= 2 Then  
vArr(j, 15) = "Хорошо"  
ElseIf Application.Sum(M, n, P, r, d, v) >= 3 And Application.Sum(M, n, P, r, d, v) <= 5 Then  
vArr(j, 15) = "Удовлетворительно"  
ElseIf Application.Sum(M, n, P, r, d, v) >= 6 Then  
vArr(j, 15) = "Неудовлетворительно"  
End If  
 
If Len(vArr(j, 14)) > 0 Then  
vArr(j, 16) = 6  
Else  
vArr(j, 16) = Application.Sum(M, n, P, r, d, v)  
End If  
 
End If  
 
где M... v = 0..2 -это присваиваемый балл  
Таких у меня шесть параметров. Дальше я в зависимости от общей суммы баллов вывожу в отдельную колонку общую оценку. Мне нужно просуммировать эти баллы Sum(M, n, P, r, d, v) и в эту последнюю колонку vArr(j, 16) записать эту общую сумму.  
 
Причем, если 'метка совсем плохо встречается, то vArr(j, 16) = 6  
If Len(vArr(j, 14)) > 0 Then  
vArr(j, 15) = "совсем плохо"  
Else  
vArr(j, 14) = ""  
 
Но в результате у меня просчитывается верно только сумма, где присутствуют все переменные M, n, P, r, d, v, там, где ячейка с параметром пустая, переменной напротив нее присваивается какое-то число и сумма возрастает, а там, где есть слова "совсем плохо", просто вместо суммы пустота.  
Подскажите, что не так? Как сделать, чтобы он суммировал только присутствующие баллы и прописывал где метка цифру 6?
Самое искреннее всем спасибо!
 
От всего сердца выражаю большую благодарность таким столь добрым, отзывчивым людям, как nilem, The_Prist, Hugo, vikttur, Serge 007, EducatedFool, Юрий М, Паша, Ёксель-моксель, слэн, Марчук,  ZVI и всем, всем, всем, кто вкладывает пусть порой маленькую, но столь нужную в определенный момент помощь!  
Спасибо Вам самое искреннее и самое большое за оперативную помощь, за понятливые разъяснения, за юмор и просто понимание и доброту!    
 
 
С самыми наилучшими пожеланиями, Наталья
Ошибка Compile error: Ambiguous name detected: tt2
 
Всем привет!  
Ребята, подскажите, пожалуйста!  
 
При объявлении переменных выскочила ошибка Compile error: Ambiguous name detected: tt2  
 
Как её исправить?  
 
У меня есть переменные tt2(i), где i от 1 до 36, это глобальные переменные.  
 
Я каждую задаю в виде Public tt2(1) As Single, tt2(2) As Single и так далее  
На tt2(2) As Single и выводится эта ошибка.  
 
Что я не так делаю?
Возможность сохранения истории изменений пользовательской формы
 
Всем привет!  
 
Подскажите, возможно ли реализовать запись в отдельный файл истории изменений введенных параметров в пользовательскую форму?  
 
Подскажите, пожалуйста, как это можно сделать?  
 
А также можно ли задать пароль на изменения, то есть, если пользователь хочет изменить параметры, он однократно вводит пароль и меняет их, если нет, то просто жмет кнопку ОК и выполняется программа.
Установить возможность изменения параметров
 
Всем привет!  
 
Подскажите, пожалуйста!  
Я программно анализирую некоторые данные и проставляю в зависимости от шкалы определенную оценку (высокая, низкая, средняя).  
 
Например, >20 - высокая  
от 10 до 19 - средняя  
<9 - низкая  
 
В программе:  
 
'Количество товара за период*, штук  
     If Len(vArr(j, 2) & "") = 0 Then  
     vArr(j, 3) = ""  
     Else  
     On Error Resume Next: w = Abs(CDbl(Replace(vArr(j, 2), ".", ","))): On Error GoTo 0  
     Select Case w  
       'Select Case vArr(j, 2) '  oS.Cells(i, 2)  
       Case Is > 20: vArr(j, 3) = "Высокое": M = 1  
       Case Is < 9: vArr(j, 3) = "Низкое": M = 3  
       Case Is >= 10, Is <= 19: vArr(j, 3) = "Среднее": M = 2  
       End Select  
     End If  
 
Сейчас жестко прописан диапазон для оценки.  
Как можно до начала работы программы дать возможность пользователю не влезая в код программы регулировать самостоятельно эту шкалу? (>20 или >40 выбрать)
Работа программы
 
Всем добрый день!  
Подскажите, пожалуйста.  
 
Я запускаю программу, но она срабатывает через раз. Единственное решение - это завершить процесс Excel. Можно ли это как-нибудь избежать?
Проблема с завершением обработки в программе
 
Всем привет!  
 
Подскажите, пожалуйста!  
 
Как подправить обработку,  чтобы если такая строчка не найдена, то шла следующая обработка, а не работа программы завершалась на первой обработке.  
 
 
Set Диапазон = .Find(What:="ДДД", LookAt:=xlWhole, SearchOrder:=xlByRows)  
If Диапазон Is Nothing Then MsgBox "Не найдена строка ДДД", vbCritical, "Ошибка": 'Exit Sub  
   dRow1 = Диапазон.Row  
Set Диапазон = .Find(What:="Итого ДДД", LookAt:=xlPart, SearchOrder:=xlByRows)  
If Диапазон Is Nothing Then MsgBox "Не найдена строка Итого ДДД:", vbCritical, "Ошибка": 'Exit Sub  
   dRow2 = Диапазон.Row  
   For i = 1 To dRow2 - dRow1 - 1  
       ОценкаКачества.MergeArea.Offset(dRow1 - iFirstRow + i).Value = "ВВВВ"  
   Next i  
 
 
Если программа в файле не находит строчку с ДДД, то обработка завершается на этом, а мне нужно, чтобы она переходила в этом случае к следующей подобной обработке (например к нахождению данных с словом МММ)
Добавить автоматически строку
 
Всем привет!  
Подскажите, пожалуйста, как можно автоматически добавить строчку в файл, если её нет перед определенной строчкой.  
Например, находим присутствие нужных строк в файле:  
 
Set Диапазон = .Find(What:="Машина", LookAt:=xlWhole, SearchOrder:=xlByRows)  
If Диапазон Is Nothing Then MsgBox "Не найдена строка Машина ", vbCritical, "Ошибка": Exit Sub  
   iRow1 = Диапазон.Row  
Set Диапазон = .Find(What:="Итого Машины:", LookAt:=xlWhole, SearchOrder:=xlByRows)  
If Диапазон Is Nothing Then MsgBox "Не найдена строка Итого Машины: ", vbCritical, "Ошибка": Exit Sub  
   iRow2 = Диапазон.Row  
Set Диапазон = .Find(What:="% по машинам", LookAt:=xlWhole, SearchOrder:=xlByRows)  
If Диапазон Is Nothing Then MsgBox "Не найдена строка % по машинам ", vbCritical, "Ошибка": Exit Sub  
   nRow1 = Диапазон.Row  
Set Диапазон = .Find(What:="Итого % по машинам:", LookAt:=xlWhole, SearchOrder:=xlByRows)  
If Диапазон Is Nothing Then MsgBox "Не найдена строка Итого % по машинам:", vbCritical, "Ошибка": Exit Sub  
   nRow2 = Диапазон.Row  
 
 
Нужно, если строчка "Итого Машины:" не найдена, то ее нужно добавить в таблицу перед строчкой "Итого % по машинам:"
Привязка расчетов к наименованиям столбцов
 
Всем привет!  
Помогите поправить программу, пожалуйста!  
 
У меня есть файл с ужасным форматированием, но изменять в форматировании категорически запрещено! Есть определенные наименования столбцов над которыми нужно произвести действия.  
К наименованиям этих столбцов и нужно привязать удаление, очистку и расчеты.  
Действия происходят только с первой таблицей, остальные таблицы должны оставаться неизменными.  
Признак новой таблицы - это наименование полей (серый цвет полей заголовка таблицы).  
 
'определяем цвет заголовка и присваиваем значение переменной lLastRow  
   lColor = Cells(lFirstRow, 1).Interior.ColorIndex: lLastRow = lFirstRow + 1  
   'Перебираем все ячейки первого столбца пока не найдем ячейку с цветом заголовка  
   Do While Cells(lLastRow, 1).Interior.ColorIndex <> lColor  
       lLastRow = lLastRow + 1  
   Loop  
 
Макрос удаляет все правые столбцы первой таблицы до столбца "Доля в общей стоимости имущества (по оценочной стоимости)". Переименовывает этот столбец и очищает.  
 
Нужно вместо номера столбца привязать все эти действия (удаление столбца, изменение названия заголовка столбца и его очищение) к наименованию столбца "Доля в общей стоимости имущества (по оценочной стоимости)".  
 
Расчеты рыночной стоимости:  
Здесь идет поиск слова "Облигации" в столбцах, объединенных под наименованием "Имущество и обязательство", количество столбцов может быть разным, нужно привязать Columns("A:W") к общему наименованию столбца. А расчет стоимости, чтобы был привязан к первому столбцу общего наименования "Оценочная  стоимость (руб.)"  
 
Во вложении нужно открыть файл обработка файлов.xls и нажать на кнопку старт, после чего выбрать файл пример для обработки.xls.  
 
 
Помогите, пожалуйста!
Формула подсчета оклада
 
Всем привет!  
Помогите, пожалуйста, написать формулу расчета в ячейке AJ5  
Не знаю, как скомпановать сложное условие:  
 
AJ5 =    
если стаж AF5 < 10, то AJ5 = 0  
если стаж AF5 > 10 и AF5 < 20, то AJ5 = 0,2% * K5 * (AF5 - 10)  
если стаж AF5 > 20 AJ5 = 0,2% * K5 * 10  
 
Помогите, пожалуйста
Защита листа
 
Всем привет!  
Подскажите, пожалуйста, можно ли защитить половину листа так, чтобы была возможность добавления строк в незащищенной половине листа?
Подсчет общего количества людей определенного возраста
 
Всем привет!  
Подскажите, пожалуйста, что не так делаю?  
 
У меня есть два столбца (первый - дата рождения, второй - пол человека), я в столбце С просчитываю его возраст, а теперь мне нужно посчитать сколько мужчин и сколько женщин определенного возраста по отдельности. То есть, сколько мужчин в возрасте 55 лет и так далее, как быть?
Страницы: 1 2 След.
Наверх