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

Вход

Регистрация

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

 

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

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

Excel 2007,2010,2013
Здравствуйте.
Можно как-то так
[vba]
Код
Private Sub TextBox1_Change()
    If Not IsNumeric(TextBox1) Or Val(TextBox1) <= 0 Then Exit Sub
    Лист2.[C6:C8] = Application.Transpose(Лист1.[B4:D4].Offset(TextBox1))
End Sub
[/vba]
К сообщению приложен файл: 8948424.xlsm (19.9 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеЗдравствуйте.
Можно как-то так
[vba]
Код
Private Sub TextBox1_Change()
    If Not IsNumeric(TextBox1) Or Val(TextBox1) <= 0 Then Exit Sub
    Лист2.[C6:C8] = Application.Transpose(Лист1.[B4:D4].Offset(TextBox1))
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 26.01.2018 в 17:03
krosav4ig Дата: Вторник, 30.01.2018, 04:01 | Сообщение № 1522 | Тема: Выписка с сайта - списка адресов электронной почты
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
DJBeast, нужна надстройка Power Query


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеDJBeast, нужна надстройка Power Query

Автор - krosav4ig
Дата добавления - 30.01.2018 в 04:01
krosav4ig Дата: Вторник, 30.01.2018, 15:59 | Сообщение № 1523 | Тема: Найти слово на латинском и сделать первую букву Большой
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
и я того же мнения
[vba]
Код
Function ЗаменитьБукву$(s$)
    With CreateObject("scriptcontrol")
        .Language = "JScript"
        ЗаменитьБукву = .eval("'" & s & "'.replace(/(?:^|\b)([a-z])/gi, " & _
            "function(a) { return a.toUpperCase(); })")
    End With
End Function
[/vba]
К сообщению приложен файл: 1427423.xlsm (15.8 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеи я того же мнения
[vba]
Код
Function ЗаменитьБукву$(s$)
    With CreateObject("scriptcontrol")
        .Language = "JScript"
        ЗаменитьБукву = .eval("'" & s & "'.replace(/(?:^|\b)([a-z])/gi, " & _
            "function(a) { return a.toUpperCase(); })")
    End With
End Function
[/vba]

Автор - krosav4ig
Дата добавления - 30.01.2018 в 15:59
krosav4ig Дата: Среда, 31.01.2018, 02:15 | Сообщение № 1524 | Тема: как правильно отсортировать товар по дате поступления??
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
как-то так должно быть[vba]
Код
Sub ertert()
Dim wsh As Worksheet, dt As Date, x, y(), i&, k&
dt = Range("A1").Value
Range("A1").CurrentRegion.Offset(1).ClearContents

For Each wsh In ThisWorkbook.Sheets
    If Not wsh Is ActiveSheet Then
        x = wsh.Range("I1").CurrentRegion.Value
        If Not IsEmpty(x) Then
            k = 0
            ReDim y(1 To UBound(x), 1 To 4)
            For i = 1 To UBound(x) Step 2
                If x(i, 1) = dt Then
                    k = k + 1
                    y(k, 1) = dt
                    y(k, 2) = x(i + 1, 1)
                    y(k, 3) = x(i, 2)
                    y(k, 4) = x(i + 1, 2)
               End If
            Next i
         End If
    If k > 0 Then Cells(Rows.Count, 2).End(xlUp)(2, 1).Resize(k, 4).Value = y()
    End If
Next wsh
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениекак-то так должно быть[vba]
Код
Sub ertert()
Dim wsh As Worksheet, dt As Date, x, y(), i&, k&
dt = Range("A1").Value
Range("A1").CurrentRegion.Offset(1).ClearContents

For Each wsh In ThisWorkbook.Sheets
    If Not wsh Is ActiveSheet Then
        x = wsh.Range("I1").CurrentRegion.Value
        If Not IsEmpty(x) Then
            k = 0
            ReDim y(1 To UBound(x), 1 To 4)
            For i = 1 To UBound(x) Step 2
                If x(i, 1) = dt Then
                    k = k + 1
                    y(k, 1) = dt
                    y(k, 2) = x(i + 1, 1)
                    y(k, 3) = x(i, 2)
                    y(k, 4) = x(i + 1, 2)
               End If
            Next i
         End If
    If k > 0 Then Cells(Rows.Count, 2).End(xlUp)(2, 1).Resize(k, 4).Value = y()
    End If
Next wsh
[/vba]

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

Excel 2007,2010,2013
для возможности быстро поправить и не запутаться в "мегаформуле"

можно использовать бесплатную надстройку FormulaDesk


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение
для возможности быстро поправить и не запутаться в "мегаформуле"

можно использовать бесплатную надстройку FormulaDesk

Автор - krosav4ig
Дата добавления - 31.01.2018 в 02:34
krosav4ig Дата: Четверг, 01.02.2018, 00:33 | Сообщение № 1526 | Тема: Перемещение UserForm в любую область
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
[vba]
Код
Option Explicit
    'константы для функций API
    Private Const GWL_STYLE As Long = -16& 'для установки нового вида окна
    Private Const GWL_EXSTYLE = -20& 'для расширенного стиля окна
    Private Const WS_CAPTION As Long = &HC00000 'определяет заголовок
    Private Const WS_BORDER As Long = &H800000 'определяет рамку формы
    
    Private Const WM_NCLBUTTONDOWN = &HA1
    Private Const HTCAPTION = 2
    
    'Функции API, применяемые для поиска окна и изменения его стиля
#If VBA7 Then
    Private Declare PtrSafe Function SetWindowLong Lib "User32" Alias "SetWindowLongA" (ByVal hwnd As LongPtr, ByVal nIndex As Long, ByVal dwNewLong As LongPtr) As LongPtr
    Private Declare PtrSafe Function GetWindowLong Lib "User32" Alias "GetWindowLongA" (ByVal hwnd As LongPtr, ByVal nIndex As Long) As LongPtr
    Private Declare PtrSafe Function FindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr
    Private Declare PtrSafe Function DrawMenuBar Lib "User32" (ByVal hwnd As LongPtr) As Long

    Private Declare PtrSafe Function SendMessage Lib "user32" Alias "SendMessageA"  (ByVal hwnd As LongPtr, ByVal wMsg As Long, ByVal wParam As LongPtr, lParam As Any) As LongPtr
    Private Declare PtrSafe Sub ReleaseCapture Lib "user32" ()
    
    Dim ihWnd As LongPtr
#Else
    Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
    Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Private Declare Function DrawMenuBar Lib "user32.dll" (ByVal hwnd As Long) As Long

    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
    Private Declare Sub ReleaseCapture Lib "user32" ()
    
    Dim ihWnd As Long
#End If

Private Sub UserForm_Initialize()
    Dim hStyle
    'ищем окно формы среди всех открытых окон
    If VAL(Application.Version) < 9 Then
        ihWnd = FindWindow("ThunderXFrame", Me.Caption) 'для Excel 97
    Else
        ihWnd = FindWindow("ThunderDFrame", Me.Caption) 'для Excel 2000 и выше
    End If
    'получаем информацию о найденном окне(стили и т.д.)
    hStyle = GetWindowLong(ihWnd, GWL_STYLE)
    'назначаем переменной новый стиль для окна формы
    hStyle = hStyle And Not WS_CAPTION And Not WS_BORDER
    'изменяем вид окна: убираем меню(заголовок) и рамку
    SetWindowLong ihWnd, GWL_STYLE, hStyle
    SetWindowLong ihWnd, GWL_EXSTYLE, 0
    'перерисовываем форму, точнее строку меню(заголовка)
    DrawMenuBar ihWnd
    'меняем размер формы, т.к. сделали смещение элементов формы вверх на высоту заголовка
    Me.Height = Me.Height + GWL_EXSTYLE
End Sub

Private Sub UserForm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    If Button = 1 Then
        ReleaseCapture
        SendMessage ihWnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&
    End If
End Sub

Private Sub ЗАКРЫТЬ_Click()
    Unload Me
End Sub
[/vba]


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

Сообщение отредактировал krosav4ig - Четверг, 01.02.2018, 00:33
 
Ответить
Сообщение[vba]
Код
Option Explicit
    'константы для функций API
    Private Const GWL_STYLE As Long = -16& 'для установки нового вида окна
    Private Const GWL_EXSTYLE = -20& 'для расширенного стиля окна
    Private Const WS_CAPTION As Long = &HC00000 'определяет заголовок
    Private Const WS_BORDER As Long = &H800000 'определяет рамку формы
    
    Private Const WM_NCLBUTTONDOWN = &HA1
    Private Const HTCAPTION = 2
    
    'Функции API, применяемые для поиска окна и изменения его стиля
#If VBA7 Then
    Private Declare PtrSafe Function SetWindowLong Lib "User32" Alias "SetWindowLongA" (ByVal hwnd As LongPtr, ByVal nIndex As Long, ByVal dwNewLong As LongPtr) As LongPtr
    Private Declare PtrSafe Function GetWindowLong Lib "User32" Alias "GetWindowLongA" (ByVal hwnd As LongPtr, ByVal nIndex As Long) As LongPtr
    Private Declare PtrSafe Function FindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr
    Private Declare PtrSafe Function DrawMenuBar Lib "User32" (ByVal hwnd As LongPtr) As Long

    Private Declare PtrSafe Function SendMessage Lib "user32" Alias "SendMessageA"  (ByVal hwnd As LongPtr, ByVal wMsg As Long, ByVal wParam As LongPtr, lParam As Any) As LongPtr
    Private Declare PtrSafe Sub ReleaseCapture Lib "user32" ()
    
    Dim ihWnd As LongPtr
#Else
    Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
    Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Private Declare Function DrawMenuBar Lib "user32.dll" (ByVal hwnd As Long) As Long

    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
    Private Declare Sub ReleaseCapture Lib "user32" ()
    
    Dim ihWnd As Long
#End If

Private Sub UserForm_Initialize()
    Dim hStyle
    'ищем окно формы среди всех открытых окон
    If VAL(Application.Version) < 9 Then
        ihWnd = FindWindow("ThunderXFrame", Me.Caption) 'для Excel 97
    Else
        ihWnd = FindWindow("ThunderDFrame", Me.Caption) 'для Excel 2000 и выше
    End If
    'получаем информацию о найденном окне(стили и т.д.)
    hStyle = GetWindowLong(ihWnd, GWL_STYLE)
    'назначаем переменной новый стиль для окна формы
    hStyle = hStyle And Not WS_CAPTION And Not WS_BORDER
    'изменяем вид окна: убираем меню(заголовок) и рамку
    SetWindowLong ihWnd, GWL_STYLE, hStyle
    SetWindowLong ihWnd, GWL_EXSTYLE, 0
    'перерисовываем форму, точнее строку меню(заголовка)
    DrawMenuBar ihWnd
    'меняем размер формы, т.к. сделали смещение элементов формы вверх на высоту заголовка
    Me.Height = Me.Height + GWL_EXSTYLE
End Sub

Private Sub UserForm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    If Button = 1 Then
        ReleaseCapture
        SendMessage ihWnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&
    End If
End Sub

Private Sub ЗАКРЫТЬ_Click()
    Unload Me
End Sub
[/vba]

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

Excel 2007,2010,2013
Здравствуйте
Можно как-то так
В модуль ЭтаКнига
[vba]
Код
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    With Target
        If .NumberFormat = "[h]:mm:ss" And Int(.Value) = .Value Then
            Application.EnableEvents = False
            .Formula = Format(.Formula, "00:00:00")
            .NumberFormat = "[h]:mm:ss"
            Application.EnableEvents = True
        End If
    End With
End Sub
[/vba]
К сообщению приложен файл: 0579909.xlsm (34.4 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеЗдравствуйте
Можно как-то так
В модуль ЭтаКнига
[vba]
Код
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    With Target
        If .NumberFormat = "[h]:mm:ss" And Int(.Value) = .Value Then
            Application.EnableEvents = False
            .Formula = Format(.Formula, "00:00:00")
            .NumberFormat = "[h]:mm:ss"
            Application.EnableEvents = True
        End If
    End With
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 01.02.2018 в 03:35
krosav4ig Дата: Четверг, 01.02.2018, 14:26 | Сообщение № 1528 | Тема: Перенос значения ячейки с изменением формата и коррект.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Код
=ЕСЛИОШИБКА(ОСТАТ(ПСТР(ПОДСТАВИТЬ(","&$A1;",";ПОВТОР(" ";99));99*СТОЛБЕЦ(A1);99);10^7);"")
К сообщению приложен файл: 2014932.xls (26.0 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение
Код
=ЕСЛИОШИБКА(ОСТАТ(ПСТР(ПОДСТАВИТЬ(","&$A1;",";ПОВТОР(" ";99));99*СТОЛБЕЦ(A1);99);10^7);"")

Автор - krosav4ig
Дата добавления - 01.02.2018 в 14:26
krosav4ig Дата: Четверг, 01.02.2018, 14:46 | Сообщение № 1529 | Тема: Сравнение 2 столбцов с датами
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Код
=C2=КОНМЕСЯЦА(B2;0)+1
К сообщению приложен файл: 3561139.xls (19.0 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение
Код
=C2=КОНМЕСЯЦА(B2;0)+1

Автор - krosav4ig
Дата добавления - 01.02.2018 в 14:46
krosav4ig Дата: Четверг, 01.02.2018, 15:43 | Сообщение № 1530 | Тема: Автопродление отдельных столбцов умной таблицы
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Добрый день
В Excel 2007 было как-то так
открыть Параметры автозамены, на вкладке "Автоформат при вводе" поставить галочку "Включать в таблицу новые строки"


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеДобрый день
В Excel 2007 было как-то так
открыть Параметры автозамены, на вкладке "Автоформат при вводе" поставить галочку "Включать в таблицу новые строки"

Автор - krosav4ig
Дата добавления - 01.02.2018 в 15:43
krosav4ig Дата: Четверг, 01.02.2018, 17:25 | Сообщение № 1531 | Тема: Автопродление отдельных столбцов умной таблицы
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
можно еще реестр проверить
Цитата
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Word\Options]
"autoexpandlistrange"=dword:00000001
К сообщению приложен файл: key.reg (0.1 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеможно еще реестр проверить
Цитата
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Word\Options]
"autoexpandlistrange"=dword:00000001

Автор - krosav4ig
Дата добавления - 01.02.2018 в 17:25
krosav4ig Дата: Четверг, 01.02.2018, 21:48 | Сообщение № 1532 | Тема: перенос текста по строкам вверх, при выборе приоритетности
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013


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

Сообщение отредактировал krosav4ig - Четверг, 01.02.2018, 22:37
 
Ответить
СообщениеЗдрасте.
Сортировка данных в диапазоне или таблице

Автор - krosav4ig
Дата добавления - 01.02.2018 в 21:48
krosav4ig Дата: Четверг, 01.02.2018, 22:38 | Сообщение № 1533 | Тема: перенос текста по строкам вверх, при выборе приоритетности
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Исправил


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

Автор - krosav4ig
Дата добавления - 01.02.2018 в 22:38
krosav4ig Дата: Пятница, 02.02.2018, 05:58 | Сообщение № 1534 | Тема: заполнение полей формы значениями выделенной строки
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
на всякий случай
[vba]
Код
Option Explicit

Private LO As ListObject
Private index%

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    Set LO = Nothing
End Sub

Private Sub ИмяПациента_Change()

End Sub

Private Sub ИмяТовара_Change()

End Sub

Private Sub КачествоТовара_Change()

End Sub

Private Sub КоличествоТовара_Change()

End Sub

Private Sub UserForm_Initialize()
    Set LO = [Таблица2].ListObject
    With LO
        If Intersect(.DataBodyRange, Selection) Is Nothing Then
            Set LO = Nothing
            Exit Sub
        End If
        index = Selection.Row - .HeaderRowRange.Row
        With .ListColumns
            Me.ИмяПациента = .Item("Имя").DataBodyRange(index)
            Me.ИмяТовара = .Item("Товар").DataBodyRange(index)
            Me.КоличествоТовара = .Item("Количество").DataBodyRange(index)
            Me.КачествоТовара = .Item("Качество").DataBodyRange(index)
        End With
    End With
End Sub

Private Sub Редактура_Click()
    LO.ListRows(index).Range = Array(ИмяПациента, ИмяТовара, КоличествоТовара, КачествоТовара)
End Sub

Private Sub ОчисткаФормы_Click()
    Me.ИмяПациента = Empty
    Me.ИмяТовара = Empty
    Me.КоличествоТовара = Empty
    Me.КачествоТовара = Empty
End Sub

Private Sub СозданиеНового_Click()
    LO.ListRows.Add.Range = Array(ИмяПациента, ИмяТовара, КоличествоТовара, КачествоТовара)
End Sub

Private Sub Выход_Click()
    Unload Me
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениена всякий случай
[vba]
Код
Option Explicit

Private LO As ListObject
Private index%

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    Set LO = Nothing
End Sub

Private Sub ИмяПациента_Change()

End Sub

Private Sub ИмяТовара_Change()

End Sub

Private Sub КачествоТовара_Change()

End Sub

Private Sub КоличествоТовара_Change()

End Sub

Private Sub UserForm_Initialize()
    Set LO = [Таблица2].ListObject
    With LO
        If Intersect(.DataBodyRange, Selection) Is Nothing Then
            Set LO = Nothing
            Exit Sub
        End If
        index = Selection.Row - .HeaderRowRange.Row
        With .ListColumns
            Me.ИмяПациента = .Item("Имя").DataBodyRange(index)
            Me.ИмяТовара = .Item("Товар").DataBodyRange(index)
            Me.КоличествоТовара = .Item("Количество").DataBodyRange(index)
            Me.КачествоТовара = .Item("Качество").DataBodyRange(index)
        End With
    End With
End Sub

Private Sub Редактура_Click()
    LO.ListRows(index).Range = Array(ИмяПациента, ИмяТовара, КоличествоТовара, КачествоТовара)
End Sub

Private Sub ОчисткаФормы_Click()
    Me.ИмяПациента = Empty
    Me.ИмяТовара = Empty
    Me.КоличествоТовара = Empty
    Me.КачествоТовара = Empty
End Sub

Private Sub СозданиеНового_Click()
    LO.ListRows.Add.Range = Array(ИмяПациента, ИмяТовара, КоличествоТовара, КачествоТовара)
End Sub

Private Sub Выход_Click()
    Unload Me
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 02.02.2018 в 05:58
krosav4ig Дата: Пятница, 02.02.2018, 15:03 | Сообщение № 1535 | Тема: Перенос значения ячейки с изменением формата и коррект.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Вариант с UDF
[vba]
Код
Function Перенос$(s$)
    With CreateObject("vbscript.regexp")
        .Pattern = "(\d{1,3}(?=\d{4}))|\d+"
        .Global = True
        s = .Replace(StrReverse(s), "$1 ")
    End With
    Перенос = StrReverse(Application.Trim(s))
End Function
[/vba]
К сообщению приложен файл: 7236614.xls (36.5 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеВариант с UDF
[vba]
Код
Function Перенос$(s$)
    With CreateObject("vbscript.regexp")
        .Pattern = "(\d{1,3}(?=\d{4}))|\d+"
        .Global = True
        s = .Replace(StrReverse(s), "$1 ")
    End With
    Перенос = StrReverse(Application.Trim(s))
End Function
[/vba]

Автор - krosav4ig
Дата добавления - 02.02.2018 в 15:03
krosav4ig Дата: Пятница, 02.02.2018, 15:33 | Сообщение № 1536 | Тема: как правильно отсортировать товар по дате поступления??
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Упс, одна строчка не туда затесалась
[vba]
Код
Sub ertert()
Dim wsh As Worksheet, dt As Date, x, y(), i&, k&
dt = Range("A1").Value
Range("A1").CurrentRegion.Offset(1).ClearContents

For Each wsh In ThisWorkbook.Sheets
    If Not wsh Is ActiveSheet Then
        x = wsh.Range("I1").CurrentRegion.Value
        If Not IsEmpty(x) Then
            k = 0
            ReDim y(1 To UBound(x), 1 To 5)
            For i = 1 To UBound(x) Step 2
                If x(i, 1) = dt Then
                    k = k + 1
                    y(k, 1) = dt
                    y(k, 2) = x(i + 1, 1)
                    y(k, 3) = x(i, 2)
                    y(k, 4) = x(i + 1, 2)
                    y(k, 5) = wsh.Name
                End If
            Next i
            If k > 0 Then Cells(Rows.Count, 2).End(xlUp)(2, 1).Resize(k, 5).Value = y()
        End If
    End If
Next wsh

With Range("B1:F" & Cells(Rows.Count, 2).End(xlUp).Row)
    .Sort Key1:=.Cells(1, 1), Order1:=xlAscending, _
          Key2:=.Cells(1, 2), Order2:=xlAscending, Header:=xlYes
End With
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеУпс, одна строчка не туда затесалась
[vba]
Код
Sub ertert()
Dim wsh As Worksheet, dt As Date, x, y(), i&, k&
dt = Range("A1").Value
Range("A1").CurrentRegion.Offset(1).ClearContents

For Each wsh In ThisWorkbook.Sheets
    If Not wsh Is ActiveSheet Then
        x = wsh.Range("I1").CurrentRegion.Value
        If Not IsEmpty(x) Then
            k = 0
            ReDim y(1 To UBound(x), 1 To 5)
            For i = 1 To UBound(x) Step 2
                If x(i, 1) = dt Then
                    k = k + 1
                    y(k, 1) = dt
                    y(k, 2) = x(i + 1, 1)
                    y(k, 3) = x(i, 2)
                    y(k, 4) = x(i + 1, 2)
                    y(k, 5) = wsh.Name
                End If
            Next i
            If k > 0 Then Cells(Rows.Count, 2).End(xlUp)(2, 1).Resize(k, 5).Value = y()
        End If
    End If
Next wsh

With Range("B1:F" & Cells(Rows.Count, 2).End(xlUp).Row)
    .Sort Key1:=.Cells(1, 1), Order1:=xlAscending, _
          Key2:=.Cells(1, 2), Order2:=xlAscending, Header:=xlYes
End With
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 02.02.2018 в 15:33
krosav4ig Дата: Понедельник, 05.02.2018, 13:11 | Сообщение № 1537 | Тема: как правильно отсортировать товар по дате поступления??
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
[vba]
Код
Option Explicit

Sub ertert()
Dim wsh As Worksheet, dt As Date, x, y(), i&, k&
dt = Range("A1").Value
Intersect(ActiveSheet.UsedRange.Offset(1), [B:F]).ClearContents

For Each wsh In ThisWorkbook.Sheets
    If Not wsh Is ActiveSheet Then
        x = wsh.Range("I1").CurrentRegion.Value
        If Not IsEmpty(x) Then
            k = 0
            ReDim y(1 To UBound(x), 1 To 5)
            For i = 1 To UBound(x) Step 2
                If x(i, 1) = dt Then
                    k = k + 1
                    y(k, 1) = dt
                    y(k, 2) = x(i + 1, 1)
                    y(k, 3) = x(i, 2)
                    y(k, 4) = x(i + 1, 2)
                    y(k, 5) = wsh.Name
                End If
            Next i
            If k > 0 Then Cells(Rows.Count, 2).End(xlUp)(2, 1).Resize(k, 5).Value = y()
        End If
    End If
Next wsh

With Range("B1:F" & Cells(Rows.Count, 2).End(xlUp).Row)
    .Sort Key1:=.Cells(1, 1), Order1:=xlAscending, _
        Key2:=.Cells(1, 2), Order2:=xlAscending, Header:=xlYes
End With
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение[vba]
Код
Option Explicit

Sub ertert()
Dim wsh As Worksheet, dt As Date, x, y(), i&, k&
dt = Range("A1").Value
Intersect(ActiveSheet.UsedRange.Offset(1), [B:F]).ClearContents

For Each wsh In ThisWorkbook.Sheets
    If Not wsh Is ActiveSheet Then
        x = wsh.Range("I1").CurrentRegion.Value
        If Not IsEmpty(x) Then
            k = 0
            ReDim y(1 To UBound(x), 1 To 5)
            For i = 1 To UBound(x) Step 2
                If x(i, 1) = dt Then
                    k = k + 1
                    y(k, 1) = dt
                    y(k, 2) = x(i + 1, 1)
                    y(k, 3) = x(i, 2)
                    y(k, 4) = x(i + 1, 2)
                    y(k, 5) = wsh.Name
                End If
            Next i
            If k > 0 Then Cells(Rows.Count, 2).End(xlUp)(2, 1).Resize(k, 5).Value = y()
        End If
    End If
Next wsh

With Range("B1:F" & Cells(Rows.Count, 2).End(xlUp).Row)
    .Sort Key1:=.Cells(1, 1), Order1:=xlAscending, _
        Key2:=.Cells(1, 2), Order2:=xlAscending, Header:=xlYes
End With
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 05.02.2018 в 13:11
krosav4ig Дата: Вторник, 06.02.2018, 18:10 | Сообщение № 1538 | Тема: Расчет рабочего времени(режим 12х7) между двумя датами
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Здравствуйте.
Проверяйте.
Код
=(МУМНОЖ(ОТБР(A2:B2);{-1:1})*12-МУМНОЖ(-ТЕКСТ(ТЕКСТ(ОСТАТ(A2:B2;1)*24;"[>20]2\0");"[<8]8");{-1:1}))/24

или с массивным вводом формулы (Ctrl+Shift+Enter)
Код
=((ОТБР(B2)-ОТБР(A2))*12-СУММ(ТЕКСТ(ТЕКСТ(ОСТАТ(A2:B2;1)*24;"[>20]2\0");"[<8]8")*{1;-1}))/24
К сообщению приложен файл: 8522951.xlsx (9.6 Kb)


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

Сообщение отредактировал krosav4ig - Среда, 07.02.2018, 17:12
 
Ответить
СообщениеЗдравствуйте.
Проверяйте.
Код
=(МУМНОЖ(ОТБР(A2:B2);{-1:1})*12-МУМНОЖ(-ТЕКСТ(ТЕКСТ(ОСТАТ(A2:B2;1)*24;"[>20]2\0");"[<8]8");{-1:1}))/24

или с массивным вводом формулы (Ctrl+Shift+Enter)
Код
=((ОТБР(B2)-ОТБР(A2))*12-СУММ(ТЕКСТ(ТЕКСТ(ОСТАТ(A2:B2;1)*24;"[>20]2\0");"[<8]8")*{1;-1}))/24

Автор - krosav4ig
Дата добавления - 06.02.2018 в 18:10
krosav4ig Дата: Среда, 07.02.2018, 16:59 | Сообщение № 1539 | Тема: Экспорт XML в кодировке windows-1251
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Добрый день. Можно попробовать такой костыль.
[vba]
Код
Sub ExportToXML()
    Dim strPath As String, sTmp As String
    strPath = ThisWorkbook.Path & "\счет.xml"
    ThisWorkbook.XmlMaps("Файл_карта").Export URL:=strPath
    DoEvents
    With CreateObject("ADODB.Stream")
        .Type = 2: .Charset = "utf-8"
        .Open: .LoadFromFile strPath: sTmp = .ReadText: .Close
        .Charset = "windows-1251": sTmp = Replace(sTmp, "UTF-8", "windows-1251")
        .Open: .WriteText sTmp: .SaveToFile strPath, 2: .Close
    End With
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеДобрый день. Можно попробовать такой костыль.
[vba]
Код
Sub ExportToXML()
    Dim strPath As String, sTmp As String
    strPath = ThisWorkbook.Path & "\счет.xml"
    ThisWorkbook.XmlMaps("Файл_карта").Export URL:=strPath
    DoEvents
    With CreateObject("ADODB.Stream")
        .Type = 2: .Charset = "utf-8"
        .Open: .LoadFromFile strPath: sTmp = .ReadText: .Close
        .Charset = "windows-1251": sTmp = Replace(sTmp, "UTF-8", "windows-1251")
        .Open: .WriteText sTmp: .SaveToFile strPath, 2: .Close
    End With
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 07.02.2018 в 16:59
krosav4ig Дата: Четверг, 08.02.2018, 23:31 | Сообщение № 1540 | Тема: EAN 8 в excel
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеcode 39 - EAN 8 - EAN 13

Автор - krosav4ig
Дата добавления - 08.02.2018 в 23:31
Поиск:

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