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

Страницы: 1
Поиск значений по столбцам с условием, Нахождение значения соседнего столбца по условию
 
Доброго времени суток!
Помогите найти значение определенного столба по условию в другом столбце. Т.е. у нас есть таблица (4 столбца).
№ - порядковый номер (не всегда подряд, может перескакивать)
ID  - уникальное значение (почти уникальное, т.к. ID меняется только в зависимости от наименования аппаратуры, а если названия одинаковые, то и ID будет одинаковым у них)
Итог - в этом столбце на один ID только одно значение больше 0, остальные все нули (но в разном порядке, НЕ обязательно последний или первый 0)

Задача:
1) Нужно найти на один ID значение больше 0 из столбца "Итог";
2) Нужно найти № у того ID у которого в столбце "Итог" значение больше нуля

Пример во вложении
Изменено: Amirchik - 07.01.2023 11:55:25
Поиск совпадения значений в диапазоне
 
Добрый день. Есть две таблицы, одна | ДАТА | Диапазон ОТ | Диапазон ДО | , а другая просто значения подряд в диапазонах.

Подскажите, пожалуйста, как сопоставить значения из одной таблицы в другую. Т.е. чтоб во второй таблице к значению из диапазона сопоставить дату.
Пример в приложении.
Транслитерация текста, Транслитерация выделенных ячеек через кнопку на форме
 
Здравствуйте!
Нашел такой код на этом форуме по транслиту текста:

Код
Sub Translit()
 
    Dim Rus As Variant
    Rus = Array("а", "б", "в", "г", "д", "е", "ё", "ж", "з", "и", "й", "к", _
    "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", _
    "щ", "ъ", "ы", "ь", "э", "ю", "я", "А", "Б", "В", "Г", "Д", "Е", _
    "Ё", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", _
    "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ъ", "Ы", "Ь", "Э", "Ю", "Я")
 
    Dim Eng As Variant
    Eng = Array("a", "b", "v", "g", "d", "e", "jo", "zh", "z", "i", "j", _
    "k", "l", "m", "n", "o", "p", "r", "s", "t", "u", "f", "kh", "ts", "ch", _
    "sh", "sch", "''", "y", "'", "e", "yu", "ya", "A", "B", "V", "G", "D", _
    "E", "JO", "ZH", "Z", "I", "J", "K", "L", "M", "N", "O", "P", "R", _
    "S", "T", "U", "F", "KH", "TS", "CH", "SH", "SCH", "''", "Y", "'", "E", "YU", "YA")

    For Each Txt In Range(Selection.Address)
    For I = 1 To Len(Txt)
        с = Mid(Txt, I, 1)
        flag = 0
        For J = 0 To 65
            If Rus(J) = с Then
                outchr = Eng(J)
                flag = 1
                Exit For
            End If
        Next J
        If flag Then outstr = outstr & outchr Else outstr = outstr & с
    Next I
     
    Txt.Value = outstr
    outstr = ""
    Next Txt
End Sub


Подскажите как эту функцию сделать для кнопки на форме? Что тут не так? Я не понимаю почему не работает.
Ругается на строку с = Mid(Txt, I, 1).
Хотя через ВИД-МАКРОСЫ все работает.
Присвоить переменной значение, получаемое ранее формулой в ячейке
 
Доброго времени суток!

Есть формула в ячейке:
Код
=СУММЕСЛИМН(AX:AX;A:A;">="&СЕГОДНЯ()-ДЕНЬ(СЕГОДНЯ()-1);A:A;"<="&СЕГОДНЯ())

Как эту формулу можно переделать в формулу VBA? Чтоб присвоить только значение переменной, без записи его в ячейку.

С присваиванием в ячейку работает

Код
Range("BV142").Formula = "=SUMIFS(C[-24],C[-73],"">=""&TODAY()-DAY(TODAY()-1),C[-73],""<=""&TODAY())"

ZaMecPlan = CCur(Range("BV142"))

Range("BV142").Clear

Или это уже совсем другая формула будет? С другой логикой.

Нужно что то на подобии:
Код
ZaMecPlan = SUMIFS(C[-24],C[-73],"">=""&TODAY()-DAY(TODAY()-1),C[-73],""<=""&TODAY())
Изменено: Amirchik - 08.02.2020 00:29:41
Объединение книг в один лист, Объединение всех выбранных книг Excel в один лист
 
Здравствуйте! Хотелось бы объединить все выбранные книги в один лист. Нашел код на этом же сайте, но уже в Архиве, и были эти же вопросы, но отвечали походу в ЛС и поэтому ответов там нет. Были только после вопросов сразу же "Спасибо, все получилось".
Просто нужно немного изменить этот код.

Ну и собственно вопросы:
1) Как объединить все выбранные книги Excel (*.xls и *.xlsx), пробывал изменить на *.xls*, но почему то ругается на *.xlsx
2) Как выбрать с какой строки копировать? В объединяемых книгах есть шапки таблиц, которые желательно не объединять.
3) Ну и если есть возможность, то как при сохранении сделать выпадающий список по выбору расширения сохраняемой книги (*.xls или *.xlsx)
Код
Sub Объединение_множества_книг_в_один_лист()   
  
Const strStartDir = "c:\test" 'папка, с которой начать обзор файлов   
Const strSaveDir = "c:\test\result" 'папка, в которую будет предложено сохранить результат   
Const blInsertNames = True 'вставлять строку заголовка (книга, лист) перед содержимым листа   
  
Dim wbTarget As New Workbook, wbSrc As Workbook, shSrc As Worksheet, shTarget As Worksheet, arFiles, _   
i As Integer, stbar As Boolean, clTarget As Range   
  
On Error Resume Next 'если указанный путь не существует, обзор начнется с пути по умолчанию   
ChDir strStartDir   
On Error GoTo 0   
With Application 'меньше писанины   
arFiles = .GetOpenFilename("Excel Files (*.xls), *.xls", , "Объединить файлы", , True)   
If Not IsArray(arFiles) Then End 'если не выбрано ни одного файла   
Set wbTarget = Workbooks.Add(template:=xlWorksheet)   
Set shTarget = wbTarget.Sheets(1)   
.ScreenUpdating = False   
stbar = .DisplayStatusBar   
.DisplayStatusBar = True   
  
For i = 1 To UBound(arFiles)   
.StatusBar = "Обработка файла " & i & " из " & UBound(arFiles)   
Set wbSrc = Workbooks.Open(arFiles(i), ReadOnly:=True)   
For Each shSrc In wbSrc.Worksheets   
If IsNull(shSrc.UsedRange.Text) Then 'лист не пустой   
Set clTarget = shTarget.Range("A1").Offset(shTarget.Range("A1").SpecialCells(xlCellTypeLastCell).Row, 0)   
If blInsertNames Then   
clTarget = ">>> " & wbSrc.Name & " -- " & shSrc.Name   
Set clTarget = clTarget.Offset(1, 0)   
End If   
shSrc.UsedRange.Copy clTarget   
End If   
Next   
wbSrc.Close False 'закрыть без запроса на сохранение   
Next   
.ScreenUpdating = True   
.DisplayStatusBar = stbar   
.StatusBar = False   
  
On Error Resume Next 'если указанный путь не существует и его не удается создать,   
'обзор начнется с последней использованной папки   
If Dir(strSaveDir, vbDirectory) = Empty Then MkDir strSaveDir   
ChDir strSaveDir   
On Error GoTo 0   
arFiles = .GetSaveAsFilename("Результат", "Excel Files (*.xls), *.xls", , "Сохранить объединенную книгу")   
  
If VarType(arFiles) = vbBoolean Then 'если не выбрано имя   
GoTo save_err   
Else   
On Error GoTo save_err   
wbTarget.SaveAs arFiles   
End If   
End   
save_err:   
MsgBox "Книга не сохранена!", vbCritical   
End With   
End Sub 

Заранее спасибо большое!
Изменено: Amirchik - 16.05.2019 16:37:30
Копирование значений из одной ячейки в другую ячейку с форматированием
 
Есть коды определения разных цветов текста в ячейке. Нужно в соседний столбец скопировать значение другой ячейки с разными цветами (вместо слов "Ложь" и "Истина").
Код
Function HasDifColor(rg As Range) As Boolean
  HasDifColor = IsNull(rg.Cells(1).Characters.Font.Color)
End Function
или
Код
Public Function hasSeveralTextColors(txtCell As Range) As Boolean
    severalColors = False
    With txtCell.Cells(1)
        firstColor = .Characters(1, 1).Font.ColorIndex
        For i = 2 To .Characters.Count
            If .Characters(i, 1).Font.ColorIndex <> firstColor Then
                severalColors = True
                Exit For
            End If
        Next i
    End With
    hasSeveralTextColors = severalColors
End Function
Изменено: Amirchik - 17.02.2018 17:31:38
Формула для определения разных цветов текста в ячейке, Определить, есть ли разные цвета текста в ячейке
 
Нужно определить формулой, есть ли в ячейке текст разного цвета. Например в ячейке А1 текст черного цвета, а одно слово красного, тогда в ячейке B1 текст "Да, есть" иначе "Нету".
Спасибо большое!
Подсчитать медианы одинаковых значений, Нужно подсчитать медианы всех одинаковых значений в первом столбце
 
Здравствуйте уважаемые программисты!
Имеется таблица, в первом столбце идут значения в любом количестве одинаковых значений (может быть и одна строка и 10 и т.д.), а втором столбце их значения.
Нужно чтоб остались по одному значению первого столбца с подсчитанной медианой (одинаковых значений первого столбца) во втором столбце. Желательно макросом.

Access-ом пользоваться не умею почти (не предлагать).

Пример прикрепил ниже.
Спасибо большое заранее!
Объединение данных одной таблицы с одинаковыми значениями в другую таблицу
 
Здравствуйте!
Проблема такая, нужно из одной таблицы сделать объединенную таблицу макросом. Т.е. есть первая таблица в котором содержится 3 столбца. в итоговой таблице нужно:
1) Посмотреть одинаковые значение в первом столбце
2) Посмотреть одинаковые значения в 3 столбце
3) Записать цифры второго столбца ОТ и ДО.

Можно объединенную таблицу и в новой книге сделать или в новом листе, главное чтоб она была)))

Пример прикреплен ниже.
Генератор случайных не целых чисел в диапазоне, Генерация не целого случайного числа в диапазоне от 10 до 14.999
 
Подскажите люди добрые, как написать код VBA чтоб в Label выводилось случайное не целое число от 10 до 14.999. до тысячных знаков

типа label1.caption = КОД
Генератор случайных чисел на несколько строк, Сгенерировать случайные числа с условием среднего значения
 
Здравствуйте. Помогите сделать макрос генерирующий случайные числа на указанное количество строк (в форме) со значением от 0,5 до 500 (можно и больше 500) с условием, что среднее значение всех строк не больше (можно меньше, но не больше) указанного в форме.
Файл пример прикрепил.
Залить цветом ячейки удовлетворяющие трем условиям, условное форматирование
 
Здравствуйте, помогите разобраться с условным форматированием.
Хотелось бы, чтоб форматирование происходило на столбце "B".  А условие такое: Если значение меньше 1000 и не меньше или равно 4, то проверяется значение ячейки, если значение ячейки не равно столбцу L*4 (умноженную на 4) на строку выше, то закрасить красным.
Если просто вводить формулу в соседних ячейках, то почти получается (=ЕСЛИ(B6<1000;ЕСЛИ(B6<>L5*4;"Лишнее";"");"")), но условие меньше или равно 4 тоже не смог))
Пример выложил (Два листа "Как есть" и "Как хотелось бы")
Скрыть PERSONAL.xlsb, При открытии документов Excel открывается пустое окошко
 
Здравствуйте. Проблема такая, что при открытии файлов excel открывается два окна, одно окошко то что нужно и одно из них пустое (Personal.xlsb), т.к. он скрытый (Вид-Скрыть). В личной книге макросов есть нужные макросы, поэтому удалить эту книгу не вариант. Если открыть через ПУСК новый документ, то все нормально без лишних окон. Если нажать на панеле задач ПКМ и выбрать Personal.xlsb то серое окно исчезает.
Personal.xlsb делал скрытым, при этом проблема исчезает, но становятся недоступны макросы (не видно в Вид - Макросы).
Галочку "Игнорировать DDE-запросы..." ставил/убирал
В 2010 офисе этой проблем нет. На компьютере установлено два офиса 2010 и 2013.
При закрытии нужной книги остается это окошко, т.е. получается приходится два раза закрывать ексель.


Windows 2007 Максималка
Office 2010
Office 2013 pro
Создание гиперссылки на листы по названию соседних стобцов
 
Здравствуйте. Помогите пожалуйста с макросом, который создает ссылки.
У меня есть документ, в первом листе в столбце А числа идут по порядку "1,2,3...", в столбце "B" "C" цифры могут быть разные... имена листов имеют вид названия столбцов "B"_"C". И вот мне нужно чтоб в первом листе, там где числа по порядку, создать ссылки на эти листы... строк больше 300 поэтому хотелось бы автоматизировать это дело. До этого все ссылки были. Но файл повредился и все ссылки пропали.
Можно сделать на выделенные ячейки, но я не пойму как связать их с соседними ячейками, т.е. чтоб названия брал из соседних столбцов.

Файл с примером выложил.
Закрытие книги вместе с формой, Закрыть книгу крестиком на форме
 
Доброго времени суток!
Имеется внешняя книга макросов и вызывается она таким образом:
Код
Call Application.Run("'C:\Mac_Uni.xlsm'!Macros")
Подскажите пожалуйста, как закрыть эту книгу макросов, при нажатии на крестик UserForm?
Вставляю этот код в ФОРМУ:
Код
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)

If CloseMode = 0 Then

ThisWorkbook.Close False
ThisWorkbook.Quit
Application.Quit
End If

End Sub
Таким методом конечно закрывается книга, но при повторном нажатии на макрос выдает ошибку  ошибка 429 "ActiveX component can't create object".

Почему то на кнопке метод:
Код
ThisWorkbook.Close False
работает правильно, а вот именно на закрытии крестиком не пойму как...

Подскажите пожалуйста, куда и что вставить чтоб заработало
Копировать данные ячейки в буфер
 
Здравствуйте уважаемые!
Подскажите пожалуйста, как можно скопировать макросом данные из ячейки в буфер? т.е. как будто я кликнул два раза по ячейке, выделил весь текст и скопировал, а не просто выделил ячейку и скопировал. Потому что при копировании просто ячейки, если убрать выделение, то данные уже для вставки не доступны. А мне хотелось бы чтоб скопированные значения оставались, если даже после этого удалю данные из этой ячейки.
Буду надеяться что понятно изложил суть своего вопроса.

Такой метод не подходит
Код
Range("C1").Select
Range("C1").Copy
Маска для TextBox: вставка любого символа на N позицию
 
Здравствуйте уважаемые специалисты.
Скажите пожалуйста, как сделать так, чтоб при вводе цифр в TextBox именно 3ий символ был ":", т.е. это будет часы и минуты (HH:MM).
Получается так, вводишь подряд числа, без ":", автоматический вставляется это двоеточие, сразу же после первых двух.
Я так понимаю это нужно прописать в событии OnKeyDown или в Change
Максимальную длину TextBox поставил 5 символов
Как добавить две книги макросов в Excel
 
Здравствуйте. Интересует такой вопрос.
Я хотел спрятать макрос паролем, для этого я экспортировал форму и модуль с макросом в VBA и вставил в новую книгу и поставил пароль (через VBAProjectProperties). Сохранил новую книгу в формате "Двоичная книга Excel", т.е. получается такая же книга как и PERSONAL.XLSB. Вставил эту книгу туда же где и PERSONAL.xlsb.
В итоге я получил что хотел, именно мой макрос(моя книга с макросами) закрылся паролем, но возникла другая проблема. Теперь при открытии нового документа, вместо имени по умолчанию стоит ИМЯ книги моего макроса. И расширение по умолчанию стоит "двоичная книга Excel".
Если убрать эту книгу с той папки, где ПЕРСОНАЛ, то норм, а обратно ставишь опять так же...
Подскажите пожалуйста, как можно добавить вторую личную книгу макросов? Чтоб без всяких таких косяков.
Надеюсь понятно написал   :(  
Выделение заполненных ячеек, Выделение заполненных ячеек и изменение шрифта
 
Здравствуйте. Подскажите пожалуйста, как выделить диапазон ячеек с А1 до последней заполненной ячейки и поменять шрифт выделенной области на Arial 10 размер.

Таким как я сделал, объем листа, даже пустого, весит от 40 Мб!!! Я выделил весь лист, но я не могу знать сколько строк и столбцов может быть, поэтому попробывал так.
Код
ActiveSheet.Select
Range("A1:IV65536").Select
'Selection.Font.Bold = "True"
Selection.Font.Name = "Arial"
Selection.Font.Size = "10"
Range("A1").Select
Изменение значений в диапазоне ячеек столбца, Обнулить столбец с определенной строки и до последней записи
 
Здравствуйте. Суть вопроса такой:
Имеется таблица со значениями (пример закреплен в сообщении), хотелось бы чтоб макрос обнулил(т.е. поставил вместо имеющихся значений 0) столбцы с определенной строки и до последней записи в этих столбцах, а в последнем столбце поменял формат даты на "DD.MM.YYYY H:MM", так же на весь столбец.
После всех этих действий курсор поставить в ячейку А1. (EXCEL 2010)
Спасибо за внимание.
Изменено: giz - 04.11.2016 21:54:59
Заполнение выделенного столбца с чередованием данных
 
Здравствуйте. Как заполнить выделенный столбец с чередованием значений?
Чтоб было как во вложенном файле (Но не обязательно 7 строк, а чтоб на всем выделенном диапазоне).
Пишем слово false в выделенных ячейках
 
Здравствуйте. Проблема такая, что когда пишу через VBA значение в ячейку "false", то макрос сразу превращает в "ЛОЖЬ", а мне нужно именно на английском, строчными буквами в выделенных ячейках написать слова "false". Пробывал и через Chr(), но результат тот же. Скажите пожалуйста, как написать чтоб было именно false, а не ЛОЖЬ. Читал про региональные настройки, но неочень понял как это сделать. Excel 2010

вот код:
Код
Private Sub CommandButton7_Click()
For Each Cell In Selection
Cell.Value = "false"
Next Cell
End Sub
Изменено: giz - 04.11.2016 13:41:28
Страницы: 1
Наверх