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

Страницы: 1
Быстрый ввод времени
 
Работает такой макрос, только при очистке ячеек остается знак ":"
Как поправить?
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim vVal
    Dim StrVal As String
    Dim dDate As Date
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("F5:AJ50,AR5:AS50")) Is Nothing Then
        With Target
            vVal = Format(.Value, "0000")
            If IsNumeric(vVal) And Len(vVal) = 5 Then
                Application.EnableEvents = False
                .Value = Left(vVal, 3) & ":" & Right(vVal, 2)
                .NumberFormat = "[h]:mm"
                Else
                Application.EnableEvents = False
                .Value = Left(vVal, 2) & ":" & Right(vVal, 2)
                .NumberFormat = "[h]:mm"
            End If
        End With
    End If
    Application.EnableEvents = True
End Sub
Изменено: Romuald - 12.06.2017 17:12:34
Быстрый ввод времени
 
Здравствуйте! Как в этом макросе реализовать ввод времени типа 128:10...
Менял здесь на такие значения:
Код
vVal = Format(.Value, "00000")
If IsNumeric(vVal) And Len(vVal) = 5 Then

.Value = Left(vVal, 3) & ":" & Right(vVal, 2)

Но тогда нарушаются часы в двузначном формате: 015:25
Изменено: Romuald - 31.05.2017 14:43:08
Переименовать листы макросом, VBA
 
Спасибо всем, кто помогал. Вот что в итоге получилось, только макрос немного долго отрабатывает:

Код
Sub CombineWorkbooks()
    Dim FilesToOpen
    Dim x As Integer
 
    Application.ScreenUpdating = False  'отключаем обновление экрана для скорости
     
    'вызываем диалог выбора файлов для импорта
    FilesToOpen = Application.GetOpenFilename(FileFilter:="All files (*.*), *.*", MultiSelect:=True, Title:="Files to Merge")
 
    If TypeName(FilesToOpen) = "Boolean" Then
        MsgBox "Не выбрано ни одного файла!"
        Exit Sub
    End If
     
    'проходим по всем выбранным файлам
    x = 1
    While x <= UBound(FilesToOpen)
        Set importWB = Workbooks.Open(Filename:=FilesToOpen(x))
    
        For i = 1 To importWB.Sheets.Count
            If Not (WorksheetFunction.CountA(importWB.Sheets(i).UsedRange) = 0) Then
                importWB.Sheets(i).Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
               
 ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count).Name = 
Left(importWB.Name, InStr(importWB.Name, ".") - 1) + "_" + 
importWB.Sheets(i).Name
            End If
        Next i
        importWB.Close savechanges:=False
        x = x + 1
    Wend
 
    Application.ScreenUpdating = True
End Sub
Изменено: Romuald - 10.03.2016 11:01:13
Переименовать листы макросом, VBA
 
Цитата
Александр Сергеевич написал:
может удалять пустые листы а потом копировать... книга закрывается без сохранения....
Так и сделаю.
Переименовать листы макросом, VBA
 
Александр Сергеевич, спасибо, направление понял, буду копать... Не понятно только как игнорировать пустые листы...
Переименовать листы макросом, VBA
 
Цитата
Александр Сергеевич написал:
workbook(1),sheet(2).name
почему workbook(1),sheet(2), а не sheet(1) ?
Переименовать листы макросом, VBA
 
Здравствуйте! Есть файл Consolid.xlsm в который макросом загружаю листы из других файлов (пример: WAS.xlsx). Как сделать так, что бы при загрузке листы переименовывались по принципу "Название файла_оригинальное название листа" (пример: WAS_Arkusz1), а пустые листы - не загружались? Заранее благодарен.
Нахождение суммы после умножения кол-во дней
 
Цитата
raindew написал:
получатся новые: "Сумма займа" в размере $4246 и "Чистая прибыль" $272 (это число и есть сумма умножения кол-ва дней в 2 раза).
Как получается сума "Чистая прибыль" $272 - не описано. Пишет что получается, а как???
>>>сумма умножения кол-ва дней в 2 раза  - это будет 11*2=24 - это явно не 272
Нахождение суммы после умножения кол-во дней
 
Не совсем понятно, по какому принципу получается $272...Можеш описать???
Нахождение суммы после умножения кол-во дней
 
Тебе надо на другом листе сделать таблицу подсчета "Чистой прибыли" в зависимости от количества периодов (11*n) и оттуда брать нужные данные.
Нахождение суммы после умножения кол-во дней
 
Формула в G14:
G13*(J6/G9)-J7
Чем у тебя отличается ячейка J6 от G9 (зачем делить 11/11 и потом G13 умножать на 1) - не проще ли G13-J7 ???
Всплывающая подсказка для TextBox на листе
 
Возможно ли для TextBox который размещен на листе (не на DateForm), сделать всплывающую подсказку при наведении мыши, так как у TextBox-a на листе свойство ControlTipText - отсутствует...
Изменено: Romuald - 02.07.2015 09:13:35
Страницы: 1
Наверх