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

Страницы: 1 2 След.
Вывод только согласных из ячейки.
 
Доброго времени.
Подскажите есть ли какая-нибудь формула для вывода только согласных букв из ячейки?
Спасибо за Ваши ответы.

Бессмысленно осмысливать смысл неосмысленными мыслями.
замена текста с помощью VBA
 
Доброго времени суток!

Подскажите, макрорекодером записал макрос:
Код
Sub qqq()

    Range("G5:G11").Select
    Selection.Replace What:=",", Replacement:=".", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
End Sub

Мне необходимо , чтобы в столбце где есть ячейки с значениями
1,14
33.44
26
и т.д.
надо чтобы все ячейки где есть "," заменяли "," на ".".
проблема в том, что после замены у значения 1,14 в ячейке получается "янв.14".
Вопрос:
как сделать замену без изменения формата ячейки?

Бессмысленно осмысливать смысл неосмысленными мыслями.
Не работает строка закрытия книги
 
Добрый день!

Подскажите, почему не работает строка:
Код
Windows(Nom3).Close False 'закрыть книгу 2
В этом коде?
Код
Sub Мой()
MsgBox "ВНИМАНИЕ! Убедитесь что лист с прайсом в файле называется artikelimport hulp v2.2"
With Application
.Calculation = xlManual
.ScreenUpdating = False
End With
Dim a, B As Variant, Nom, Nom2 As String 'Описываем переменные
    Nom = ActiveWorkbook.Name 'Задаем имя активной книге
    ChDrive "C:"    'Выбор диска
    ChDir "C:\"    'Выбор каталога
        a = Application.GetOpenFilename("Тип файла (*.xlsx), *.xlsx", _
                                    , "Выберите свой прайс", , True) 'выбираем тип файлов excel
        Select Case TypeName(a)
        Case Is = "Boolean"
            Exit Sub
        Case Else
            For B = LBound(a) To UBound(a)
                Workbooks.Open a(B), CorruptLoad:=xlExtractData 'проверка выбора excel
            Next
        End Select
    Nom3 = ActiveWorkbook.Name 'задаем имя 2-й книге
    Sheets("artikelimport hulp v2.2").Activate 'Выбрать лист
    Cells.Select
    Selection.Copy 'Копировать выделеное
    Windows(Nom).Activate 'активировать книгу1
    Лист2.Visible = True 'отобразить лист
    Лист2.Activate 'Выбрать лист
    Cells.Select
'    Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    ActiveSheet.Paste
Application.DisplayAlerts = False 'скрыть сообщения об ошибке
Windows(Nom3).Close False 'закрыть книгу 2

Лист3.Select 'выбрать лист

    Лист2.Visible = 2 'Скрыть лист
With Application
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
End With 'Включить обновление экрана
MsgBox ("Прайс поставщика загружен"), 64, "InternetStore" 'Сообщение о выполнении
End Sub

перед этим выполняется точно такой же код, только там открываем файл с расширением ".xls"
и соответственно имя книги и листов другие.

Работает это последовательно, сначала загружается 1-я книга, после 2-я книга. запускается это с CommandButton1 и CommandButton2, которые находятся на UserForm1...

Что не так?

Бессмысленно осмысливать смысл неосмысленными мыслями.
открыть и обработать csv файл макросом.
 
Доброго времени суток!

Подскажите, как подправить код, который открывает файл, и разделяет его по строкам?

Код
Option Explicit
Private Sub Button1_Click()
With Application
.Calculation = xlManual
'.ScreenUpdating = False
End With
Dim a, B As Variant, Nom, Nom2 As String 'Описываем переменные
    Nom = ActiveWorkbook.Name 'Задаем имя активной книге
    ChDrive "C:"    'Выбор диска
    ChDir "C:\"    'Выбор каталога
        a = Application.GetOpenFilename("Тип файла (*.csv), *.csv", _
                                    , "Выберите отчет QUIZZ", , True) 'выбираем тип файлов excel
        Select Case TypeName(a)
        Case Is = "Boolean"
            Exit Sub
        Case Else
            For B = LBound(a) To UBound(a)
                Workbooks.Open a(B)
'                Workbooks.Open a(B), CorruptLoad:=xlExtractData 'проверка выбора excel
            Next
        End Select
    Nom2 = ActiveWorkbook.Name 'задаем имя 2-й книге
Columns("A:A").Select
            Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
                TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
                Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
                :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
                Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1 _
                ), Array(14, 1), Array(15, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array _
                (20, 1), Array(21, 1), Array(22, 1), Array(23, 1), Array(24, 1)), TrailingMinusNumbers _
                :=True
End Sub
Все выполняется, до строчки
Код
 Columns("A:A").Select
На ней спотыкается и выдает ошибку "object doesn't support this property or method"
этот код прекрасно работал с XLSX файлами, а на csv спотыкается. понимаю что именно в этом и проблема, а как ее решить не знаю помогите, пожалуйста...
Изменено: Иван Смирнов - 31.07.2017 16:54:13

Бессмысленно осмысливать смысл неосмысленными мыслями.
Правильное написание динамичного диапазона Range
 
Доброго времени суток!


Подскажите ка правильно записать вот эту строку
Код
    Range("A3: " & RngLR & ").Select

Вот в этом макросе:  
Код
      LR = Cells(Rows.Count, 1).End(xlUp).Row
        RngLR = "A" & LR
        Range("A3:P3").Select
    Selection.Copy
    Range("A3: " & RngLR & ").Select
        Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False

Не знаю как правильно это сделать...

Спасибо за помощь!


Бессмысленно осмысливать смысл неосмысленными мыслями.
Поиск по полному совпадению из combobox
 
Доброго времени суток, Господа!

Был макрос, был и вроде ничего не предвещало беды...

Суть такова. Есть у меня макрос (собранный благодаря этому сайту, спасибо Вам всем за помощь) который распечатывает определенные листы сформированные из сводной таблицы. берет он из комбобокса значение ищет эту строчку в сводной таблице, раскрывает ее печатает и удаляет лист. Так вот, до "сегодня" он работал без сучка, без задоринки, т.к. все значения были без повторяющихся слов в названии. но теперь есть два значения "Детская одежда" и "Одежда" в алфавитном порядке "Детская одежда" стоит первой, при выборе в ComboBox значения "Одежда" он находит первую ячейку содержащею слово одежда и распечатывает его (т.е. "Детская одежда). Надо чтобы макрос он находил только точное совпадение (т.е. "Одежда")
Собственно вот макрос:
Код
If Sheets("Start").ComboBox1 = "" Then
MsgBox ("Выберите отдел!" & Chr(10) & Chr(10) & "Или значение ''Общий итог''"), 48 'Сообшение
Else
'ALL_Forms.Hide
'Application.ScreenUpdating = False 'Отключить обновление экрана
Sheets("Руптюры магазина").Visible = True
Sheets("Руптюры магазина").Activate 'Активировать лист
ActiveSheet.PivotTables("Руптюры").PivotFields("Смена").ClearAllFilters 'очистить фильтр сводной таблисы
ActiveSheet.PivotTables("Руптюры").PivotFields("Смена").CurrentPage = ALL_Forms.ComboBox3.Value ' Задать фильтр сводной по значению из комбобокса
ActiveSheet.PivotTables("Руптюры").PivotFields("Отдел").ShowDetail = False 'скрыть детали сводной таблицы
ActiveSheet.PivotTables("Руптюры").PivotCache.Refresh
Dim r As Range, t, Y As Integer
Set Z = ThisWorkbook.Sheets("Руптюры магазина").Range("A5:A150").Find(Sheets("Start").ComboBox1.Value, , xlFormulas, xlPart)
'Set v = ThisWorkbook.Sheets("Руптюры магазина").Range("A4:H4").Find("Общий итог", , xlFormulas, xlPart)
Set v = ThisWorkbook.Sheets("Руптюры магазина").Range("A4:H4").Find(ALL_Forms.ComboBox4.Value, , xlFormulas, xlPart)
Y = Z.Row
t = v.Column
Set r = Cells(Y, t)
r.Select
Selection.ShowDetail = True 'раскрыть детали сводной таблицы
Печать
'ALL_Forms.ComboBox2.Clear
'ALL_Forms.ComboBox3.Clear
ALL_Forms.ComboBox4.Clear

Columns(20).Clear
Range("A5:A40").Select
Selection.Copy
Range("T1:T35").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
[T1].Sort [T1], xlAscending, Header:=xlNo
Set s = Columns(20).SpecialCells(xlCellTypeConstants)
ALL_Forms.ComboBox2.List = s.Value

' ALL_Forms.ComboBox3.AddItem "1 смена"
' ALL_Forms.ComboBox3.AddItem "2 смена"
' ALL_Forms.ComboBox3.AddItem "ОЗКУ"
'  ALL_Forms.ComboBox3.AddItem "Все"
 ALL_Forms.ComboBox4.AddItem "1. Недостаточный заказ"
 ALL_Forms.ComboBox4.AddItem "2. Неактив NA"
 ALL_Forms.ComboBox4.AddItem "3. Проверьте наличие товара"
 ALL_Forms.ComboBox4.AddItem "4. Задержка поставки"
  ALL_Forms.ComboBox4.AddItem "Общий итог"

'ALL_Forms.ComboBox2.Text = "Общий итог"
'ALL_Forms.ComboBox3.Text = "Все"
ALL_Forms.ComboBox4.Text = "Общий итог"

Sheets("Руптюры магазина").Visible = 2
End If
Application.ScreenUpdating = True 'Включить обновление экрана
inform = ThisWorkbook.Sheets("BIP").Cells(1, 3)
Проблема вот в этой строке:
Код
Set Z = ThisWorkbook.Sheets("Руптюры магазина").Range("A5:A150").Find(Sheets("Start").ComboBox1.Value, , xlFormulas, xlPart)
Спасибо откликнувшимся.

Бессмысленно осмысливать смысл неосмысленными мыслями.
Приложение для ГУГЛ
 
Вопрос для администратора.
Добрый день, Николай!
Года с 2012 сижу на Вашем сайте, и сейчас в век гаджетов, не думали ли Вы создать приложение для андроида? Хотя бы  в виде читалки. Мне порой интересно просто почитать форум, что интересует людей, какие варианты решений были предложены. Так же слежу за новыми статьями в разделе "Приемы".
Можно конечно следить через браузер телефона, но мне кажется через приложение было бы удобнее.

Бессмысленно осмысливать смысл неосмысленными мыслями.
Подстановка знаков зодиака по порядку
 
Доброго времени суток!

Подскажите как это возможно реализовать?
Есть ячейка "D4", в нее вводится дата рождения. далее в столбцах F и G, прибавляется в первой (заполненной) строке 9 лет. ниже по 9 месяцев.
Необходимо чтобы в столбце H знаки зодиака расположились по порядку (в примере показал как надо), опираясь на дату рождения.
Буду рад любой помощи.

Бессмысленно осмысливать смысл неосмысленными мыслями.
Округлить до ...9
 
Доброго времени суток!

Подскажите возможно ли сделать округление числа до ...9.
Например есть число 1772,023
Нужно получить число 1769.
Как это возможно реализовать без VBA?

Бессмысленно осмысливать смысл неосмысленными мыслями.
Получение разных значений по одному условию
 
Доброго времени суток!

В приемах наткнулся на интересный способ получения разных значений по одному условию.. "Многоразовый ВПР". в приёмах при вводе номера заказа в одну ячейку выводится список всех товаров удовлетворяющих условию.
Мне необходимо чтобы при вводе в каждую ячейку выводился следующий артикул в этом заказе.
В приложенном файле-примере на "Лист1" база, где записаны все заказы и артикулы. на "Лист2" необходимо при вводе в ячейку G2,G3,...Gxxx вводить номер заказа и выдает список всех артикулов соответствующих этому заказу.
Проблема в том, что  1 - 3 артикула теряется и не выдает.
В пример потерялись 3 артикула...
Подскажите, как возможно реализовать этот "Многоразовый ВПР"  на моем примере?

Спасибо!

Бессмысленно осмысливать смысл неосмысленными мыслями.
Удалить ненужные листы
 
Доброго времени суток!
Есть файл, который при закрытии скрывает листы (очень скрытый) макросы запаролены.
В файле сводные таблицы, которые двойным щелчком раскрывают содержимое в новый лист. дальше зарывают и созданные листы скрываются. тем самым увеличивая вес файла.
Собственно вопрос: как добавить на событие закрытия УДАЛЕНИЕ всех листов в книге которые имеют название Лист1, Лист2 и т.д. я могу прописать удаление с конкретным названием, только вот сколько будет таких листов (Лист1...Лист*...) ? всегда разное, количество.
Прошу прощения, Немного витиевато получилось...
Пример во вложении.

Бессмысленно осмысливать смысл неосмысленными мыслями.
Заполнить значения с помощь VBA по принципу ВПР
 
Добрый час!

Подскажите, как можно заполнить данные на листе3 в столбцах A, B, C Данными из листа1 не используя ВПР И впринципе формулы.
пример как должно быть на листе2.

Дело в том что строки должны будут заполняться по мере пополнения списка на листе3 и таких строк около 30 000.
заполнив их формулами файл будет очень много весить.
 

Бессмысленно осмысливать смысл неосмысленными мыслями.
Сортировка сводной таблицы с помощью "Срез" програмно
 
Добрый час!

Есть задачка задавать параметры сводной таблицы через срез программно.
Как сделать так чтобы все параметры обнулить и выделить только нужные отделы?
Список отделов всегда разный. Нужно сортировать по значению в ComboBox1.  

Бессмысленно осмысливать смысл неосмысленными мыслями.
Найти последнею дату в столбце
 
Добрый день!

Помогите, подправить пользовательскую функцию предложенную SAS888, в этой теме. дело в том что мне необходимо найти значение в последней заполненной ячейке. формат ячейки по умолчанию "Общий", список ежедневно обновляется.

Ігор Гончаренко предложил вот такой вариант этой фукции:
Код
Function DateFind(rng As Range, Optional FindFirst As Boolean = True)
Dim x As Range
       For Each x In rng
        If IsDate(x) Then
           DateFind = x
           If FindFirst Then Exit Function
        End If
    Next
    DateFind = "нет"
End Function
Записав ее вот так:
Код
=DateFind(A:A)
Возвращает значение первой даты.
А если вот так:
Код
=DateFind(A:A;ЛОЖЬ)
Возвращает значение "нет".

Что нужно сделать чтобы возвращалось значение из последней заполненной ячейки ( в примере 2.02.2017)?
Спасибо за помощь!

Бессмысленно осмысливать смысл неосмысленными мыслями.
Закрыть MsgBox через 5 секунд
 
Добрый час!

Подскажите каким методом можно закрыть MsgBox через 5 секунд после того он отобразился.

Бессмысленно осмысливать смысл неосмысленными мыслями.
как заставить excel всегда открываться в полный экран?
 
Добрый день, как заставить excel открываться всегда на полный экран?
Изменено: ivan31888 - 26.01.2017 10:56:28

Бессмысленно осмысливать смысл неосмысленными мыслями.
Запрет на изменение маштаба.
 
Добрый час!

Подскажите, есть ли возможность запретить изменения масштаба в окне?
т.е. чтобы не было возможности использовать Бегунок что на картинке. а так же сочетание клавиши "Ctrl"+Колесико мыши.

Бессмысленно осмысливать смысл неосмысленными мыслями.
Макрос закрытия книги при бездействии пользователя
 
Есть у меня вот такой код:
Код
Private Type POINTAPI
X As Long
Y As Long
End Type

Private Declare Function GetCursorPos _
    Lib "user32.ddl" (IpPoint As POINTAPI) As Long
Sub Auto_Open()
GetCursorPosition
End Sub

Private Sub GetCursorPosition()
Dim oPOINT As POINTAPI, pauseTime, Start, Finish, TotalTime
Application.DisplayAlerts = True 'Разрешаем предупреждения на время работы

GetCursorPos IPoint 'запрашиваем позицию курсора
Xx = IPoint.X
Yy = IPoint.Y

pauseTime = 10 ' время в секундах

Start = Timer 'Старт
Do While Timer < Start + pauseTime 'Запускаем цикл таймера
DoEvents 'Выход на другие процессы
Loop
Finish = Timer 'Время вышло
TotalTime = Finish - Start 'Подсчет времени простоя
GetCursorPos IPoint 'Запрашиваем позицию курсора
Xx2 = IPoint.X
Yy2 = IPoint.Y

If Xx = Xx2 And Yy = Yy2 Then 'Сравниваем 1 и 2 положение курсора
'Начинаем действия при простое
If ActiveWorkbook.ReadOnly Then 'проверяем файл на "Только чтение"
Excel.ActiveSheet.Cells(1, 1).Select 'переходим на ячейку 1,1 для устранения не оконченного ввода
Application.DisplayAlerts = False 'подавляем предупреждения
Aplication.Quit ' Закрываем приложение
ActiveWorkbook.Close True
Application.DisplayAlerts = True 'Разрешаем предупреждения на время работы
Else
Application.DisplayAlerts = False 'подавляем предупреждения
Excel.ActiveWorkbook.Save 'сохраняем активную книгу
Aplication.Quit ' Закрываем приложение
ActiveWorkbook.Close True
Application.DisplayAlerts = True 'Разрешаем предупреждения на время работы
End If
End
Else
'тут пользователь двигал курсор
End If
cicle 'переходим к процедуре цикла
End Sub
Private Sub cicle()
GetCursorPosition 'Зацикливаем процедуру пока не будет бездействия юзера
End Sub
Взял я его отсюда.
Попробовал применить не получается...может что-то не то сделал...
создал модуль в него вставил. не работает. может кто подскажет как его запустить, чтобы он работал?

Подскажите как его применить? что куда правильно вставить чтобы он работал?
Изменено: ivan31888 - 19.01.2017 12:01:42

Бессмысленно осмысливать смысл неосмысленными мыслями.
Суммировать с одного листа по условию на втором
 
Доброго времени суток!

Подскажите какую формулу можно применить, чтобы с листа1 суммировалось по условию на лист2.
в лист2, ячейка "с2"должно попасть с листа1 сумма ячеек D3 и D9, при условии что значение в ячейке А3 и А9 равно значению из ячейки А2 листа2?
Пример во вложении.

Бессмысленно осмысливать смысл неосмысленными мыслями.
Преобразовать текст в дату
 
Добрый день!

Подскажите, как можно вот это: "01 апреля 2016" (в текстовом формате) преобразовать в вот это 01 апреля 2016 г. (в формате "дата")?
Изменено: ivan31888 - 12.12.2016 12:11:05

Бессмысленно осмысливать смысл неосмысленными мыслями.
Изменить размер шрифта в колонтитуле макросом
 
Добрый день!

Подскажите как изменить размер шрифта в колонтитуле?
Когда задается стандартный параметр, тут все понятно:
Код
With ActiveSheet.PageSetup
        .LeftHeader = "&20 Page &P de &N"
End With
А как быть когда колонтитул, это ссылка на ячейку?
Код
  With ActiveSheet.PageSetup
        .LeftHeader = Range("B2")
  End With
Изменено: ivan31888 - 13.12.2016 03:07:19

Бессмысленно осмысливать смысл неосмысленными мыслями.
название файла в ячейку
 
Доброго времени суток!

Подскажите, как можно засунуть название текущего файла в ячейку (например "А1"), и в случае если имя файла меняется, меняется и в ячейки при открытии файла?

Спасибо!

Бессмысленно осмысливать смысл неосмысленными мыслями.
Запрет на создание листа, разрешить создание листа из сводной.
 
Доброго времени суток!

Есть потребность, запретить пользователям самостоятельно создавать дополнительные листы.
но если запретить это для книги создание листа, то и при раскрытии сводной с помощью макроса лист не создается.
вопрос в том, как запретить для пользователя и разрешить для макроса?
Как это сделать не имею даже представления. Если у кого-то есть вариант решения, помогите, пожалуйста.
Пример во вложении.
Заранее спасибо!

Бессмысленно осмысливать смысл неосмысленными мыслями.
ссылка на имя файла в определенной папке
 
Доброго времени суток!

Подскажите, как сделать ссылку на ячейку в файле, так чтобы там где должно быть имя файла была ссылка на ячейку в текущем файле?

Пример во вложении.

Бессмысленно осмысливать смысл неосмысленными мыслями.
цифровое значение латинских букв
 
Доброго времени суток!

Подскажите есть ли какая-нибудь функция в excel, которая видя цифру 60 будет присваивать ей буквенное значение, например "AS"?
Нужно мне это для более простого переключения диапазонов.

Бессмысленно осмысливать смысл неосмысленными мыслями.
Найти первую заполненную ячейку с датой
 
Добрый день!

Помогите, пожалуйста!
Мне надо найти первую дату в столбце (пример во вложении) и вывести ее в конкретную ячейку. строка с датой всегда разная. как это можно реализовать?
Изменено: ivan31888 - 16.08.2016 09:21:41

Бессмысленно осмысливать смысл неосмысленными мыслями.
Как создать событие на изменение ячейки?
 
Добрый день!

Подскажите, как сделать так, чтобы по изменению значения в ячейке больше 2015, запускался другой макрос?

Бессмысленно осмысливать смысл неосмысленными мыслями.
Дубликаты в соседний столбец
 
Добрый день, Форумчане.

Видел на форуме тему (не могу ее найти), где показывали код, который находил повторяющиеся значения в столбце 1 и выносил из в соседний столбец в туже строку где был найден дубдикат
Код:
Код
Dim d(), c&, cs&, k$, r&, rs&, X& 'проверка на наличие дубликатов в заданом диапазоне
d = ActiveSheet.Range("AA:AA").Value
ReDim P(1 To UBound(d, 1), 1 To UBound(d, 2))
rs = UBound(d, 1)
cs = UBound(d, 2)
With CreateObject("Scripting.Dictionary")
.CompareMode = 1
For r = 1 To rs
For c = 1 To cs
k = Trim(d(r, c))
If Len(k) Then
If .Exists(k) Then
P(r, c) = d(r, c)
X = X + 1
Else
.Add k, 0
End If
End If
Next
Next
End With
ActiveSheet.Range("AB:AB").Resize(UBound(P)).Value = P()
Я этим кодом успешно пользовался но кто-то что-то (Файл в общем доступе в более 100 филиалах) изменил и он перестал работать. Найти оригинал кода на форуме не могу.
Помогите, пожалуйста, разобраться, что пошло не так?
Изменено: ivan31888 - 13.05.2016 12:16:27

Бессмысленно осмысливать смысл неосмысленными мыслями.
Не выделяется диапазон renge ("A:S")
 
Добрый день!

не пойму в чем проблема, в других файлах работает, здесь отказывается, при пошаговом вполнении макроса выделяет строку             Range("A:S").Select , говорит
Applicate-defined or object-defined error

Код:
Код
Public Sub CommandButton1_Click()
Dim FN, FP  As Range, WB As String
    WB = ActiveWorkbook.Name
    FN = Sheets("Navigation").Range("D1")
    Set FP = Range("A1")
For i = 1 To 7
    ChDir FP
        Workbooks.Open Filename:=FP & FN 
            Sheets("Report1Data").Select 
            Range("A:S").Select 
            Selection.Copy 
    Windows(WB).Activate 
            Sheets("Поставки").Select 
            Range("A1").Select 
            Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                    :=False, Transpose:=False
    With Application
        .CutCopyMode = False 
        .DisplayAlerts = False
    End With
    Windows(FN).Close False 
Var = "D" & i 
FN = Sheets("Navigation").Range("& Var &")
Next
End Sub

Где накосячил не пойму...
Изменено: ivan31888 - 28.04.2016 16:56:52

Бессмысленно осмысливать смысл неосмысленными мыслями.
Копирование данных из закрытой книги
 
Доброго времени суток, Господа!
Помогите, пожалуйста.
Мне нужно копировать данные из определенной папки и определенных файлов их 12 и все имеют имена "01.xlsx" ... "12.xlsx" листы в файлах называются одинаково.
Написал вот  так (здесь открывает одну книгу, далее открытие остальных будет циклом)
Код
Public Sub CommandButton1_Click()
   
Dim FN, FP  As Range, WB, WB2 As String
    WB = ActiveWorkbook.Name
    FN = Sheets("Navigation").Range("D1")
    Set FP = Range("A1")
ChDir FP
    Workbooks.Open Filename:=FP & FN

End Sub
но на компьютерах пользователей не очень шипко работает, зависает на открытии файла, по этому подумал, что копировать данные с листа закрытой книги, ускорит процесс. Давно где-то читал, что это возможно, но не нашел этого нигде.

Заранее благодарю за помощь!

Бессмысленно осмысливать смысл неосмысленными мыслями.
Страницы: 1 2 След.
Наверх