Вариант с ODBC подключением таблица автоматически обновляется при изменении ячейки М2, или ПКМ по таблице>Обновить текст запроса[vba]
Код
SELECT top 10 Материал1 AS Наименование, Материал AS PLU, `Списание без НДС (Итог) (руб)` AS [Потери, руб], cdbl(replace(0&`Списание без НДС (Итог) (%)`,' %',''))/100 AS [Потери от реализации, %] FROM `Лист1$` WHERE (Материал1<>'Результат') AND (Товиерур2=?) ORDER BY `Списание без НДС (Итог) (руб)` DESC
[/vba] плюс макрос для обновления строки подключения в модуле Лист [vba]
Код
Public WithEvents QT As QueryTable Private Sub qt_BeforeRefresh(Cancel As Boolean) QT.Connection = "ODBC;DSN=Excel Files;DriverId=1046;DBQ=" & ThisWorkbook.FullName End Sub
[/vba]в ЭтаКнига[vba]
Код
Private Sub Workbook_Open() Set Лист1.QT = ThisWorkbook.Connections("запрос").Ranges(1).ListObject.QueryTable End Sub
[/vba]
Вариант с ODBC подключением таблица автоматически обновляется при изменении ячейки М2, или ПКМ по таблице>Обновить текст запроса[vba]
Код
SELECT top 10 Материал1 AS Наименование, Материал AS PLU, `Списание без НДС (Итог) (руб)` AS [Потери, руб], cdbl(replace(0&`Списание без НДС (Итог) (%)`,' %',''))/100 AS [Потери от реализации, %] FROM `Лист1$` WHERE (Материал1<>'Результат') AND (Товиерур2=?) ORDER BY `Списание без НДС (Итог) (руб)` DESC
[/vba] плюс макрос для обновления строки подключения в модуле Лист [vba]
Код
Public WithEvents QT As QueryTable Private Sub qt_BeforeRefresh(Cancel As Boolean) QT.Connection = "ODBC;DSN=Excel Files;DriverId=1046;DBQ=" & ThisWorkbook.FullName End Sub
[/vba]в ЭтаКнига[vba]
Код
Private Sub Workbook_Open() Set Лист1.QT = ThisWorkbook.Connections("запрос").Ranges(1).ListObject.QueryTable End Sub
Вариант с ODBC подключением таблица автоматически обновляется при изменении ячейки М2, или ПКМ по таблице>Обновить Имя файла, из которого копируются данные вписано в диспетчере имен в файле "другая книга.xlsm" текст запроса [vba]
Код
select distinct * from (SELECT * from `Лист1$` in 'D:\папка\другая книга.xlsm' 'Excel 12.0 xml;hdr=no;' union all select * from`Лист1$` in 'D:\папка\2963331.xlsx' 'Excel 12.0 xml;hdr=no;' where F2 is not null)
[/vba] плюс макрос для обновления текста запроса в модуле Лист [vba]
Код
Public WithEvents QT As QueryTable Private Sub qt_BeforeRefresh(Cancel As Boolean) QT.CommandText = "select distinct * from (SELECT * from `Лист1$` in '" & _ ThisWorkbook.FullName & "' 'Excel 12.0 xml;hdr=no;' union all select" & _ " * from`Лист1$` in '" & ThisWorkbook.Path & "\" & [ИмяФайла] & "' " & _ "'Excel 12.0 xml;hdr=no;' where F2 is not null)" End Sub
[/vba] в ЭтаКнига[vba]
Код
Private Sub Workbook_Open() Set Лист1.QT = ThisWorkbook.Connections("запрос").Ranges(1).ListObject.QueryTable End Sub
[/vba]
Вариант с ODBC подключением таблица автоматически обновляется при изменении ячейки М2, или ПКМ по таблице>Обновить Имя файла, из которого копируются данные вписано в диспетчере имен в файле "другая книга.xlsm" текст запроса [vba]
Код
select distinct * from (SELECT * from `Лист1$` in 'D:\папка\другая книга.xlsm' 'Excel 12.0 xml;hdr=no;' union all select * from`Лист1$` in 'D:\папка\2963331.xlsx' 'Excel 12.0 xml;hdr=no;' where F2 is not null)
[/vba] плюс макрос для обновления текста запроса в модуле Лист [vba]
Код
Public WithEvents QT As QueryTable Private Sub qt_BeforeRefresh(Cancel As Boolean) QT.CommandText = "select distinct * from (SELECT * from `Лист1$` in '" & _ ThisWorkbook.FullName & "' 'Excel 12.0 xml;hdr=no;' union all select" & _ " * from`Лист1$` in '" & ThisWorkbook.Path & "\" & [ИмяФайла] & "' " & _ "'Excel 12.0 xml;hdr=no;' where F2 is not null)" End Sub
[/vba] в ЭтаКнига[vba]
Код
Private Sub Workbook_Open() Set Лист1.QT = ThisWorkbook.Connections("запрос").Ranges(1).ListObject.QueryTable End Sub
Доброй ночи если просто заполнить, то может быть просто[vba]
Код
[Откуда].Copy [Куда]
[/vba] или [vba]
Код
[Откуда].Copy: [Куда].PasteSpecial -4123
[/vba]? или такой костыль [vba]
Код
Dim a(1) As Variant With [Откуда] a(0) = .Resize(1).Formula a(1) = Intersect(.Cells, .Offset(1)).Formula End With With [Куда] Intersect(.Cells, .Offset(1)).Formula = a(1) .Resize(1).Formula = a(0) End With
[/vba]
Доброй ночи если просто заполнить, то может быть просто[vba]
Код
[Откуда].Copy [Куда]
[/vba] или [vba]
Код
[Откуда].Copy: [Куда].PasteSpecial -4123
[/vba]? или такой костыль [vba]
Код
Dim a(1) As Variant With [Откуда] a(0) = .Resize(1).Formula a(1) = Intersect(.Cells, .Offset(1)).Formula End With With [Куда] Intersect(.Cells, .Offset(1)).Formula = a(1) .Resize(1).Formula = a(0) End With
еще вариант макроса выделяем таблицу, жмем на кнопку [vba]
Код
Sub d() Dim r1 As Range Application.ScreenUpdating = 0: Application.EnableEvents = 0 With Selection .UnMerge On Error GoTo er Set r1 = .RowDifferences(.Find(Empty)) r1.EntireRow.Hidden = 1 .SpecialCells(12).EntireRow.Delete .EntireRow.Hidden = 0 r1.EntireColumn.Hidden = 1 .SpecialCells(12).EntireColumn.Delete .EntireColumn.Hidden = 0 End With er: Application.ScreenUpdating = 1: Application.EnableEvents = 1 End Sub
[/vba]
еще вариант макроса выделяем таблицу, жмем на кнопку [vba]
Код
Sub d() Dim r1 As Range Application.ScreenUpdating = 0: Application.EnableEvents = 0 With Selection .UnMerge On Error GoTo er Set r1 = .RowDifferences(.Find(Empty)) r1.EntireRow.Hidden = 1 .SpecialCells(12).EntireRow.Delete .EntireRow.Hidden = 0 r1.EntireColumn.Hidden = 1 .SpecialCells(12).EntireColumn.Delete .EntireColumn.Hidden = 0 End With er: Application.ScreenUpdating = 1: Application.EnableEvents = 1 End Sub
Ага, костылем по причинному месту для файла из 12 поста [vba]
Код
Sub dd() Dim a As Variant With [Таблица1].ListObject .ListRows.Add 1 With .ListColumns("Столбец2").DataBodyRange .Cells(1).Clear .Formula = .Formula End With .ListRows(1).Delete End With End Sub
Ага, костылем по причинному месту для файла из 12 поста [vba]
Код
Sub dd() Dim a As Variant With [Таблица1].ListObject .ListRows.Add 1 With .ListColumns("Столбец2").DataBodyRange .Cells(1).Clear .Formula = .Formula End With .ListRows(1).Delete End With End Sub
Здравствуйте Ну, дык, чтобы воспринимала формат времени, должно быть время в H6:H9 значения разделил на 24, установил числовой формат [ч]:мм;@ в формате оси минимальное значение:авто, шаг основных делений 0,125 (3 часа), числовой формат ч:мм;@ в формате подписей данных (для обоих рядов) число>связь с источником
Здравствуйте Ну, дык, чтобы воспринимала формат времени, должно быть время в H6:H9 значения разделил на 24, установил числовой формат [ч]:мм;@ в формате оси минимальное значение:авто, шаг основных делений 0,125 (3 часа), числовой формат ч:мм;@ в формате подписей данных (для обоих рядов) число>связь с источникомkrosav4ig