Найти все экземпляры excel

CONTEXT

I am trying to search in a specific column for all instances of «January» and then reference the row so I can copy the cell directly to the left of it. The cells contain formulas so I am actually searching for the Value of the cell not the formula.

PROBLEM

I have been trying to test out and make sure it is referencing the right cell address (specifically, the row). For each instance of January, it pastes «Testing» at the end of all values in the column instead of in FoundCell itself. (ex. if January appeared 2 times, it would continuously loop «Testing» at the end of the column)

Excel Sample

Month      Month
January    =A2
February   =A3
April      =A4
April      =A5
January    =A6
December   =A7

CURRENT CODE

Dim fnd As String, FirstFound As String
Dim FoundCell As Range, rng As Range
Dim myRange As Range, LastCell As Range

Set myRange = Range("B:B")
Set LastCell = myRange.Cells(myRange.Cells.Count)
Set FoundCell = myRange.Find(what:=January, after:=LastCell, LookIn:=xlValues)

'Test to see if anything was found
If Not FoundCell Is Nothing Then
  FirstFound = FoundCell.Address
Do
    MsgBox "Found it!"
    FoundCell.Value = "Testing"
    Set FoundCell = myRange.FindNext(FoundCell)
  Loop While Not FoundCell Is Nothing And FoundCell.Address <> FirstFound
Else
 MsgBox "Not Found!"
End If

Set rng = FoundCell

Exit Sub

Please let me know if there is anything you see that could help!

asked May 22, 2018 at 14:41

KL_'s user avatar

KL_KL_

2736 silver badges22 bronze badges

11

With some modification, I am able to get your code to run. Not sure exactly what you’re trying to do, but based on the test data this code no longer hits the Runtime 91 error that your code encountered at the Loop While:

Sub foo()
Dim fnd As String, FirstFound As String
Dim FoundCell As Range, rng As Range
Dim myRange As Range, LastCell As Range

Set myRange = Range("B:B")
Set LastCell = myRange.Cells(myRange.Cells.Count)
Set FoundCell = myRange.Find(what:="January", after:=LastCell, LookIn:=xlValues)

If Not FoundCell Is Nothing Then
    FirstFound = FoundCell.Address
    Do

        ' FoundCell.Interior.ColorIndex = 39
        FoundCell.Offset(,1).Value = "Testing!"  '<~~ I'm writing out to the adjacent cell, just to be safe. Modify as needed.
        Set FoundCell = myRange.FindNext(FoundCell)

    Loop While (FoundCell.Address <> FirstFound)
End If

Set rng = FoundCell  '<~~ Careful, as this is only the LAST instance of FoundCell.

End Sub

answered May 22, 2018 at 15:32

David Zemens's user avatar

David ZemensDavid Zemens

52.8k11 gold badges79 silver badges129 bronze badges

2

You’re getting the word «Testing» printing over and over because your loop is searching for the word «Testing», not «January».

If Not FoundCell Is Nothing Then
  FirstFound = FoundCell.Address
Do
    MsgBox "Found it!"
    FoundCell.Value = "Testing"
    Set FoundCell = myRange.FindNext(FoundCell)
  Loop While Not FoundCell Is Nothing And FoundCell.Address <> FirstFound
Else

FoundCell.Value = "Testing" you’re setting a cell value to Testing with this line

Set FoundCell = myRange.FindNext(FoundCell) now you’re searching for the string «Testing». FoundCell is a range. I believe the default property for a cell range is the value of the cell (i.e. — «Testing»)

So you’re initially finding the string «January», changing it to «Testing» and then searching for the string «Testing» over and over, which you keep finding because you keeping writing it to a new cell with every loop iteration.

At least it seems like that’s what’s going on to me, I didn’t actually try to run the code. You could probably fix it by changing Set FoundCell = myRange.FindNext(FoundCell) to Set FoundCell = myRange.FindNext(FoundCell.Value)

answered May 22, 2018 at 15:36

J. Garth's user avatar

J. GarthJ. Garth

7836 silver badges10 bronze badges

4

Update

I’ve created a new article that describes how to do the same things as this article, but with a reusable assembly instead of everything in one class, and there is a demo proejct and walkthrough as well.  Check it out here.


Introduction

If you write a lot of .NET Excel automation, particularly for use on servers where there may be multiple instances of Excel running at a time, you may find yourself needing to access a specific instance of Excel, not just the «active» one.

I have spent a lot of time on forums and Q&A sites trying to find a way to iterate over all running instances, and select specific instances by Hwnd or ProcessID, but have not yet found a satisfactory article. After a while of piecing different answers together, I believe I have a class that can provide this functionality for anyone in a similar situation.

A lot of credit goes to the anonymous article at the link below, as well as some hints from various users of StackOverflow.

http://pastebin.com/F7gkrAST

Background

You will need an intermediate grasp of C# for this project, and some familiarity with Windows processes and window handles. There is also some usage of LINQ and lambda expressions, but only in a few places. You actually don’t need to know much about Excel automation, other than knowing what the Microsoft.Office.Interop.Excel.Application class is.

Several parts of the private implementation of the class involve extern calls to the Win32 API, which you don’t necessarily need to understand to use this class.  I am not very familiar with the Win32 API myself, but learned a good bit about it in putting this class together. 

Please let me know if the code violates any best practices for dealing with Win32.

IMPORTANT: This code has not been tested on all versions of Excel or Windows.  (Please help me test them all out.) I believe this code may be particularly prone to issues based on different Excel and Windows versions.

Tested environments:

  • Windows 7 64-bit with Excel 2016 32-bit
  • Windows 7 64-bit with parallel instances of Excel 2010 32-bit and Excel 2013 32-bit.

Using the Code

The class below can be used alongside the Microsoft primary interop assembly for Excel, to get a Microsoft.Office.Interop.Excel.Application object for any running instance of Excel.

I’ve split the class into two partial class files, to breakup what would otherwise be a 200-line file. The first part is the public interface, and the second is the private implementation.

Public Interface

The publicly visible interface is pretty simple, and has the following members:

  • Constructor — This takes a nullable Int32 as a parameter, which defaults to null.  The value is used to filter Excel instances by Windows sessionID.  If null, the class’s SessionID property will be set to the current sessionID.
  • SessionID — This property is used to filter Excel instances by Windows sessionID. This is very important when working with servers where multiple users may be using Excel at once.
    • If -1, the collection will give access to instances from all sessions.
    • If a valid sessionID, the collection will give access to all Excel instances running in that session.
    • If not a valid sessionID, the collection will always be empty. No exception is thrown.
  • Accessors
    • FromProcess — This method takes a reference to a Process and returns the Excel instance of that Process, or null if the Process is not an Excel instance.
    • FromProcessID — This method takes a processID and returns the Excel instance of the corresponding Process, or null if the ID is invalid or does not correspond to an Excel instance.
    • FromMainWindowHandle — This method takes the Hwnd value of the main window of an Excel instance, and returns the corresponding Excel instance, or null if the Hwnd is invalid or does not correspond to an Excel instance.
    • PrimaryInstance — This property returns the first-created Excel instance, or null if there are none.  If a user double-clicks an Excel file icon, this will be the instance the file opens in.
    • TopMostInstance — This property returns the Excel instance with the top-most visible window, or null if there are none. This will normally be the last instance selected by a user.
  • Methods
    • GetEnumerator — This method returns a collection of all Excel instances, filtering by SessionID (if SessionID is not -1).
    • GetProcesses — This method returns a collection of all Process objects of Excel instances, filtering by SessionID (if SessionID is not -1).
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Runtime.InteropServices;


using xlApp = Microsoft.Office.Interop.Excel.Application;

namespace ExcelExtensions {

                public partial class ExcelAppCollection : IEnumerable<xlApp>  {

        #region Constructors

                                        public ExcelAppCollection (Int32? sessionID = null) {
            if (sessionID.HasValue && sessionID.Value < -1)
                throw new ArgumentOutOfRangeException("sessionID");

            this.SessionID = sessionID
                ?? Process.GetCurrentProcess().SessionId;
        }

        #endregion

        #region Properties

                                public Int32 SessionID { get; private set; }

        #endregion

        #region Accessors

                                        public xlApp FromProcess(Process process) {
            if (process == null)
                throw new ArgumentNullException("process");
            return InnerFromProcess(process);
        }

                                public xlApp FromProcessID(Int32 processID) {
            try {
                return FromProcess(Process.GetProcessById(processID));
            }
            catch (ArgumentException) {
                return null;
            }
        }

                                public xlApp FromMainWindowHandle(Int32 mainHandle) {
            return InnerFromHandle(ChildHandleFromMainHandle(mainHandle));
        }

                                public xlApp PrimaryInstance {
            get {
                try {
                    return Marshal.GetActiveObject(MarshalName) as xlApp;
                }
                catch (COMException) {
                    return null;
                }
            }
        }

                        public xlApp TopMostInstance {
            get {
                var topMost = GetProcesses() 
                    .Select(p => p.MainWindowHandle) 
                    .Select(h => new { h = h, z = GetWindowZ(h) }) 
                    .Where(x => x.z > 0) 
                    .OrderBy(x => x.z) 
                    .First(); 

                return FromMainWindowHandle(topMost.h.ToInt32());
            }
        }

        #endregion

        #region Methods

                                                public IEnumerator<xlApp> GetEnumerator() {
            foreach (var p in GetProcesses())
                yield return FromProcess(p);
        }
        IEnumerator IEnumerable.GetEnumerator() { return GetEnumerator(); }

                        public IEnumerable<Process> GetProcesses() {

            IEnumerable<Process> result = Process.GetProcessesByName(ProcessName);

            if (this.SessionID >= 0)
                result = result.Where(p => p.SessionId == SessionID);

            return result;
        }

        #endregion
   }
}

Private Implementation

As mentioned in the introduction, I am not an expert on the Win32 API.  Parts of the private implementation are still a bit mysterious to me and may violate best practices for using it.  That being said, it has been reliable as far as I’ve used it.

  • Methods
    • InnerFromProcess — This method takes a reference to a Process and returns the corresponding Microsoft.Office.Interop.Excel.Application object.
    • ChildHandleFromMainHandle — This method takes the Hwnd of a Process or Application object and returns a child window’s Hwnd.
    • InnerFromHandle — This method takes the Hwnd of a child window of an Application object and returns the Application.
    • GetWindowZ — This method takes the Hwnd of a window and returns its z value.
    • EnumChildFunc — This method is used by the EnumChildWindows method to get child window Hwnds.
  • External Methods
    • AccessibleObjectFromWindow — This method takes the Hwnd of an Excel window, as well as some of the constants below, and returns (through its ref parameter) a reference to a Window object, which can then be used to get its parent Application object. 
      • It does not work if you pass it the value of a Application‘s Hwnd property; it must be a specific workbook’s window’s Hwnd.  This may only be the case on Excel 2013 or newer, where there is no main Excel window.
    • EnumChildWindows — This method takes the Hwnd of the main window of an Excel instance and an EnumChildCallback delegate as parameters, and returns (through its ref parameter) the Hwnd of a child window, which can be used by AccessibleObjectFromWindow.
    • GetClassName — This method is used by the EnumChildCallback delegate that is passed to EnumChildWindows.  I believe it gets the details of the Window class internally so that an Hwnd can be returned.
    • GetWindow — This method takes an Hwnd and a constant as parameters.  The constant used determines how to get other Hwnds based on the provided Hwnd.  Using GW_HWNDPREV returns the Hwnd of the window directly above (z position) the given Hwnd.  This is used to get the TopMostInstance.
  • Constants and Delegates
    • MarshalName — This constant is required to get the «active» instance (PrimaryInstance) from the System.Runtime.InteropServices.Marshal class.
    • ProcessName — This constant is required to get Excel processes by name from System.Diagnostics.Process.
    • ComClassName — This constant is required for EnumChildFunc method, which is used by the EnumChildWindow method from the Win32 API.
    • DW_OBJECTID — This constant is required for the AccessibleObjectFromWindow method from the Win32 API.
    • GW_HWNDPREV — This constant is required for getting window z (depth) values from the GetWindow method from the Win32 API.  I copied a bit of the Microsoft documentation into the code comments.
    • rrid — This pseudo-constant is required for the AccesibleObjectFromWindow from the Win32 API.
    • EnumChildCallback — This delegate is implemented by the EnumChildFunc method and is requied for the EnumChildWindow method from the Win32 API.
using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Text;


using xlApp = Microsoft.Office.Interop.Excel.Application;
using xlWin = Microsoft.Office.Interop.Excel.Window;

namespace ExcelExtensions {

   public partial class ExcelAppCollection {

        #region Methods

        private static xlApp InnerFromProcess(Process p) {
            return InnerFromHandle(ChildHandleFromMainHandle(p.MainWindowHandle.ToInt32()));
        }

        private static Int32 ChildHandleFromMainHandle(Int32 mainHandle) {
            Int32 handle = 0;
            EnumChildWindows(mainHandle, EnumChildFunc, ref handle);
            return handle;
        }

        private static xlApp InnerFromHandle(Int32 handle) {
            xlWin win = null;
            Int32 hr = AccessibleObjectFromWindow(handle, DW_OBJECTID, rrid.ToByteArray(), ref win);
            return win.Application;
        }

        private static Int32 GetWindowZ(IntPtr handle) {
            var z = 0;
            for (IntPtr h = handle; h != IntPtr.Zero; h = GetWindow(h, GW_HWNDPREV))
                z++;
            return z;
        }
       
        private static Boolean EnumChildFunc(Int32 hwndChild, ref Int32 lParam) { 
            var buf = new StringBuilder(128); 
            GetClassName(hwndChild, buf, 128); 
            if (buf.ToString() == ComClassName) { 
                lParam = hwndChild; 
                return false; 
            } 
            return true; 
        }
        
        #endregion

        #region Extern Methods

        [DllImport("Oleacc.dll")] 
        private static extern Int32 AccessibleObjectFromWindow(
            Int32 hwnd, UInt32 dwObjectID, Byte[] riid, ref xlWin ptr); 

        [DllImport("User32.dll")] 
        private static extern Boolean EnumChildWindows(
            Int32 hWndParent, EnumChildCallback lpEnumFunc, ref Int32 lParam); 

        [DllImport("User32.dll")] 
        private static extern Int32 GetClassName(
            Int32 hWnd, StringBuilder lpClassName, Int32 nMaxCount); 

        [DllImport("User32.dll")] 
        private static extern IntPtr GetWindow(IntPtr hWnd, UInt32 uCmd);

        #endregion

        #region Constants & delegates

        private const String MarshalName = "Excel.Application";

        private const String ProcessName = "EXCEL";

        private const String ComClassName = "EXCEL7";

        private const UInt32 DW_OBJECTID = 0xFFFFFFF0;

        private const UInt32 GW_HWNDPREV = 3;
        
        
        
        
        

        private static Guid rrid = new Guid("{00020400-0000-0000-C000-000000000046}");

        private delegate Boolean EnumChildCallback(Int32 hwnd, ref Int32 lParam);
        #endregion
    }
} 

Points of Interest

Please let me know if you find this class helpful (or terrible).  I’m especially interested in issues with older version of Excel (pre-2013), multiple versions of Excel on one machine, or multiple users on one server.  If you have any further insight into how the Win32 API is working behind the scenes, I would also like to know more about that.  Any feedback is highly appreciated.

Further Developments

I have recently started working on a WPF application called ExcelBrowser that allows users to easily browse through multiple Excel instances, their workbooks, and sheets.  Part of the implementation of this application is directly decended from the class described in this article.  Check it out at github.com/JamesFaix/ExcelBrowser.  Also, note that the solution uses C#6/.NET 4.6.1.  As of writing this, I also need to catch up on some code comments, so bear with me.

The parts related to this article are in the ExcelBrowser.Interop project of the solution.  All extern methods are encapsulated in the NativeMethods class, the Session class represents a collection of all running Applications and all running Processes with the name «Excel». AppFactory provides methods for getting specific Application instances.  Some other parts of this class are also in the ApplicationExtensionMethods and ProcessExtensionMethods classes.

History

  • Added «Further Developments» section 11/20/16
  • Posted 2/23/2016

I am a professional developer, but I really create software because it’s fun. I’ve always been interested in deconstructing complex systems, and software engineering has proven to be an inexhaustable supersystem of such systems. In the past I’ve also spent time focusing on music composition, audio engineering, electronics, game design, history, and philosophy.

My strongest languages are English and C#, in fact I’m a Microsoft Certified Professional for «Programming in C#». I do not have any certifications for English, so please trust me there. I’ve spent a lot of time working on Windows desktop applications, particularly for interacting with SQL Server or automating Microsoft Office programs, using technologies such as C#, VB.NET, VBA, T-SQL, WinForms, WPF, ADO.NET, the MS Office PIA’s, ExcelDNA, EPPlus, and Crystal Reports. I’ve also done some web development using JavaScript, HTML, CSS, TypeScript, ASP.NET, WCF, jQuery, and requirejs. I am very interested in functional programming (F#, Haskell, Clojure), and try to use C# and JavaScript in a «functional» way at times, but I haven’t had the opportunity to use a functional language for a serious project yet.

Как показано на левом снимке экрана, вам нужно найти и перечислить все совпадения значения «Linda» в таблице. Как этого добиться? Пожалуйста, попробуйте методы, описанные в этой статье.

Список всех совпавших экземпляров значения с формулой массива
Легко перечислить только первый совпавший экземпляр значения с Kutools for Excel

Больше руководств по ВПР …


Список всех совпавших экземпляров значения с формулой массива

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

1. Выберите пустую ячейку для вывода первого совпадающего экземпляра, введите в нее формулу ниже, а затем нажмите Ctrl + Shift + Enter ключи одновременно. 

=INDEX($B$2:$B$11, SMALL(IF($D$2=$A$2:$A$11, ROW($A$2:$A$11)-ROW($A$2)+1), ROW(1:1)))

Внимание: В формуле B2: B11 — это диапазон, в котором находятся соответствующие экземпляры. A2: A11 — это диапазон, содержащий определенное значение, на основе которого вы перечислите все экземпляры. И D2 содержит определенное значение.

2. Продолжайте выбирать ячейку результата, затем перетащите маркер заполнения вниз, чтобы получить другие совпавшие экземпляры.


Легко перечислить только первый совпавший экземпляр значения с Kutools for Excel

Вы можете легко найти и перечислить первый совпавший экземпляр значения с помощью Найдите значение в списке Функция Kutools for Excel без запоминания формул. Пожалуйста, сделайте следующее.

1. Выберите пустую ячейку, в которую вы поместите первый совпавший экземпляр, затем щелкните Кутулс > Формула Помощник > Формула Помощник

2. в Помощник по формулам диалоговое окно, вам необходимо:

2.1 Найдите и выберите Найдите значение в списке вариант в Выберите формулу коробка;
Tips: Вы можете проверить Фильтр введите ключевое слово в текстовое поле, чтобы быстро отфильтровать нужную формулу.

2.2 В Таблица_массив в поле выберите диапазон таблицы, который содержит столбец определенного значения и столбец сопоставленных экземпляров;

2.3 В Look_value поле, выберите ячейку с конкретным значением, на основе которого будет указан первый экземпляр;

2.4 В Колонка выберите столбец, содержащий соответствующий экземпляр. Или просто введите в него номер столбца;
Tips: Номер столбца основан на выбранном количестве столбцов, если вы выберете четыре столбца, и это третий столбец, вам нужно ввести номер 3 в Колонка пунктом.

2.5 щелкните значок OK кнопку. 

Затем первый подходящий экземпляр данного значения отображается, как показано на скриншоте ниже.

  Если вы хотите получить бесплатную пробную версию (30-день) этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.


Статьи по Теме

Значения Vlookup на нескольких листах
Вы можете применить функцию vlookup, чтобы вернуть совпадающие значения в таблице рабочего листа. Однако, если вам нужно использовать значение vlookup на нескольких листах, как вы можете это сделать? Эта статья содержит подробные инструкции, которые помогут вам легко решить проблему.

Vlookup и возврат совпадающих значений в нескольких столбцах
Обычно применение функции Vlookup может вернуть совпадающее значение только из одного столбца. Иногда вам может потребоваться извлечь совпадающие значения из нескольких столбцов на основе критериев. Вот решение для вас.

Vlookup возвращает несколько значений в одной ячейке
Обычно при применении функции ВПР, если есть несколько значений, соответствующих критериям, вы можете получить результат только для первого из них. Если вы хотите вернуть все совпавшие результаты и отобразить их все в одной ячейке, как этого добиться?

Vlookup и возврат всей строки совпадающего значения
Обычно использование функции vlookup может возвращать результат только из определенного столбца в той же строке. Эта статья покажет вам, как вернуть всю строку данных на основе определенных критериев.

Обратный просмотр Vlookup или в обратном порядке
Как правило, функция ВПР ищет значения слева направо в таблице массивов и требует, чтобы значение поиска оставалось в левой части целевого значения. Но иногда вы можете знать целевое значение и захотеть узнать значение поиска в обратном порядке. Следовательно, вам необходимо выполнить поиск в обратном порядке в Excel. В этой статье есть несколько способов легко справиться с этой проблемой!

Больше руководств по ВПР …


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Вы получаете слово «Тестирование» снова и снова, потому что ваш цикл ищет слово «Тестирование», а не «Январь».

If Not FoundCell Is Nothing Then
  FirstFound = FoundCell.Address
Do
    MsgBox "Found it!"
    FoundCell.Value = "Testing"
    Set FoundCell = myRange.FindNext(FoundCell)
  Loop While Not FoundCell Is Nothing And FoundCell.Address <> FirstFound
Else

FoundCell.Value = «Testing», вы устанавливаете значение ячейки для тестирования с помощью этой строки

Set FoundCell = myRange.FindNext(FoundCell) теперь вы ищете строку «Testing». FoundCell — это диапазон. Я считаю, что свойство по умолчанию для диапазона ячеек — это значение ячейки (т. Е. «Тестирование»).

Итак, вы сначала находите строку «Январь», меняете ее на «Тестирование», а затем снова и снова ищете строку «Тестирование», которую вы продолжаете находить, потому что вы продолжаете записывать ее в новую ячейку с каждой итерацией цикла.

По крайней мере, мне кажется, что именно это и происходит, я на самом деле не пытался запустить код. Вероятно, вы могли бы исправить это, изменив Set FoundCell = myRange.FindNext(FoundCell) на Set FoundCell = myRange.FindNext(FoundCell.Value)

Содержание

  1. Table of Contents:
  2. Windows XP
  3. Шаг 1
  4. Шаг 2
  5. Шаг 3
  6. Шаг 4
  7. Шаг 5
  8. Шаг 6
  9. Шаг 7
  10. Шаг 8
  11. Виндоус виста
  12. Шаг 1
  13. Шаг 2
  14. Шаг 3
  15. Шаг 4
  16. Шаг 5
  17. Windows 7
  18. Шаг 1
  19. Шаг 2
  20. Шаг 3
  21. Шаг 4
  22. Как найти потерянные значки панели инструментов
  23. Как найти или заблокировать потерянные или украденные устройства с Windows 10
  24. Mozilla Firefox: найти и восстановить потерянные закладки
  25. Трюк Excel 6. Восстановление несохраненного файла Excel (Октябрь 2022).
  26. Как найти файл на компьютере с Windows 10
  27. Как найти файлы по названию
  28. Как найти файлы по дате создания
  29. Как найти файлы по типу
  30. Как найти файлы по размеру
  31. Как найти текстовый документ на компьютере, если не помнишь название
  32. Эволюция функции «Поиск»
  33. Начинаем искать
  34. Все текстовые документы
  35. По имени
  36. По дате
  37. По типу
  38. По размеру
  39. По содержанию
  40. Как найти все файлы excel на компьютере
  41. Как найти нужный файл на компьютере?
  42. Что такое библиотеки?
  43. Как работать с проводником в Windows
  44. Чтобы изменить способ показа содержимого папок:
  45. Чтобы упорядочить содержимое:
  46. Использование Поиска
  47. Для поиска в Библиотеках:
  48. Параметры и функции поиска
  49. Работа с «Поиском» в Windows 7
  50. Как настроить поиск в windows 7
  51. Источники поиска
  52. Найдены дубликаты

Table of Contents:

Потеря файлов Excel может быть неприятной, особенно если вы не помните имя файла. К счастью, операционная система Windows предлагает несколько вариантов поиска файлов, которые позволяют вам находить определенные типы файлов независимо от того, где они расположены на вашем компьютере. Если вы помните какие-либо ключевые слова в файле, вы можете добавить их, чтобы сузить область поиска. Однако убедитесь, что ваш файл содержит эти ключевые слова в точности так, как вы вводите их в функцию поиска; в противном случае вы можете исключить искомый файл из поиска.

how to find lost excel files

Встроенный инструмент поиска Windows найдет ваши потерянные файлы Excel.

Windows XP

Шаг 1

Нажмите «Пуск» в левом нижнем углу экрана вашего компьютера.

Шаг 2

Наведите указатель мыши на «Поиск», затем выберите «Для файлов или папок».

Шаг 3

Нажмите «Документы», затем выберите «Использовать расширенные параметры поиска», затем нажмите «Дополнительные параметры расширенного поиска».

Шаг 4

Щелкните по соответствующему полю, когда файл был последний раз изменен. Если вы не знаете, оставьте этот раздел пустым.

Шаг 5

Введите «.xls» (без кавычек) в поле, которое запрашивает все или часть имени документа. Если вы используете Excel 2007 или более поздние версии, введите «.xlsx» вместо «.xls». Это ограничит ваш поиск файлами Excel.

Шаг 6

Добавьте ключевые слова в поле ключевых слов, если вы знаете какие-либо из электронных таблиц, и измените поле «Искать в» на «Мой компьютер».

Шаг 7

Установите флажки, помеченные флажками «Папки системы поиска», «Поиск скрытых файлов и папок», «Поиск подпапок» и «Поиск резервной копии на ленте».

Шаг 8

Нажмите «Поиск» и позвольте Windows найти ваш документ для вас. Если вы не ввели ключевые слова, система найдет все файлы Excel, которые соответствуют другим критериям, поэтому у вас может быть длинный список для прокрутки, чтобы найти ваш файл.

Виндоус виста

Шаг 1

Нажмите на шар «Пуск» в левом нижнем углу экрана. Поле поиска находится внизу меню «Пуск».

Шаг 2

Введите «.xls» (без кавычек) в поле поиска. Если вы используете Excel 2007 или более поздние версии, введите «.xlsx» вместо «.xls». Это ограничит ваш поиск файлами Excel. Добавьте в это поле любые ключевые слова, которые вы помните из документа, отделив их от расширения файла Excel пробелом.

Шаг 3

Нажмите клавишу «Ввод».

Шаг 4

Посмотрите результаты поиска для вашего файла. Если вы не видите его в списке, установите флажок в верхней части окна результатов поиска с пометкой «Включить неиндексированные, скрытые и системные файлы».

Шаг 5

Нажмите «Документ» в верхней части окна, чтобы сузить результаты только до документов (включая электронные таблицы) и нажмите «Поиск». Прокрутите результаты, чтобы найти ваш потерянный файл Excel.

Windows 7

Шаг 1

Нажмите «Пуск», затем введите «Параметры папки» в поле поиска в нижней части меню «Пуск».

Шаг 2

Нажмите «Параметры папки», когда она появится, затем нажмите «Изменить параметры поиска для файлов и папок».

Шаг 3

Установите флажки для поиска скрытых файлов, папок и системных папок, затем нажмите «ОК».

Шаг 4

Снова нажмите «Пуск» и введите «.xls» или «.xlsx» плюс любые ключевые слова из файла Excel в поле поиска. Нажмите «Показать больше результатов» на странице результатов и прокрутите вниз, чтобы найти файл Excel.

Как найти потерянные значки панели инструментов

Как найти или заблокировать потерянные или украденные устройства с Windows 10

how find lock your lost

Как использовать и настроить приложение «Найти мое устройство» в Windows 10, чтобы помочь вам найти потерянные компьютеры.

Mozilla Firefox: найти и восстановить потерянные закладки

mozilla firefox find

Знаете ли вы, что Mozilla Firefox регулярно создает резервные копии ваших закладок, не зная об этом? Если вы случайно потеряли свои закладки и забыли

Трюк Excel 6. Восстановление несохраненного файла Excel (Октябрь 2022).

Источник

Как найти файл на компьютере с Windows 10

Пропажа файлов – одна из наиболее распространенных проблем, с которой сталкиваются как опытные пользователи, так и новички. К счастью, в операционной системе Windows 10 предусмотрены достаточно мощные инструменты поиска. С помощью которых можно найти любой файл, где бы он не находился.

В этой статье мы расскажем, как найти файл на компьютере с операционной системой Windows 10. Будут рассмотрены несколько способов, в зависимости от информации, которая известна пользователю.

Как найти файлы по названию

Самый простой способ – это поиск по названию документа. Поэтому, если вы знаете, как называется нужный вам файл, то найти его не составит труда.

092419 1122 1

Если вы не знаете, в какой папке может находиться файл, то откройте один из дисков (например, диск D или C) или просто откройте окно « Этот компьютер », в этом случае поиск будет выполняться не в папке, а по всему диску или по целому компьютеру. Но, нужно учитывать, что поиск по диску или всему компьютеру займет намного больше времени, чем в одной конкретной выбранной папке.

092419 1122 2

Процесс поиска будет отображаться в виде зеленой полоски в адресной строке. Введите запрос и дождитесь, пока она дойдет до самого конца.

Как найти файлы по дате создания

Если вы не знаете, как называется искомый документ, но примерно помните дату его создание и место расположения, то можно выполнить поиск файла по дате создания.

Для этого откройте папку (диск или компьютер) и установите курсор в поисковую строку в правом верхнем углу экрана. После этого в верхней части окна появится новая вкладка под названием « Поиск ».

092419 1122 3

На вкладке « Поиск » нужно нажать на кнопку « Дата изменения » и выбрать один из предложенных вариантов. Среди стандартный вариантов есть: сегодня, вчера, на этой неделе, на прошлой неделе, в прошлом месяце, в этом году, в прошлом году.

092419 1122 4

После выбора одной из этих дат система выполнит поиск файлов в указанном временном диапазоне. При этом в поисковой строке появится команда « дата изменения », которая будет указывать на используемый временной отрезок.

092419 1122 5

Если вы хотите указать конкретную дату или другой отрезок времени, то вы можете кликнуть по текущему значения справа от команды « дата изменения » в поисковой строке и с помощью календаря выбрать нужное время. Для указания отрезка времени нужно зажать клавишу Shift кликнуть сначала по первой дате, а потом по последней.

092419 1122 6

Команду « дата
изменения » можно дополнить поиском по названию файла. Это позволит найти файлы с определенным названием и датой изменения. Для этого после команды « дата
изменения » поставьте пробел и введите название файла.

092419 1122 7

Используя комбинацию названия и даты, можно легко находить документы за определенный период.

Как найти файлы по типу

Также Windows 10 позволяет найти файлы определенного типа. Для этого нужно установить курсор в поисковую строку, перейти на вкладку « Поиск », нажать на кнопку « Тип » и в открывшемся списке выбрать один из предложенных типов документов. Список здесь достаточно большой и включается в себя такие распространенные типы как: документ (текстовый), папка, фильм, музыка, изображение и т.д.

092419 1122 8

После выбора одного из типов в поисковой строке появится команда « вид », которая будет указывать на выбранный тип файла.

092419 1122 9

092419 1122 10

Как и в предыдущем случае, поиск по типу можно комбинировать с другими способами поиска

Как найти файлы по размеру

Также в Windows 10 вы можете найти все файлы с определенным размером. Для этого нужно установить курсор в поисковую строку, перейти на вкладку « Поиск », нажать на кнопку « Размер » и выбрать один из предложенных вариантов. Здесь можно указать какого размера должны быть искомые документы: пустые (0 КБ), крошечные (0 – 16КБ), маленькие (16КБ – 1МБ) и т.д.

092419 1122 11

После этого в поисковой строке появится команда « размер », указывающая на размер искомых объектов.

092419 1122 12

При желании, после команды « размер » можно указать конкретное значение в килобайтах, мегабайтах или гигабайтах.

092419 1122 13

Как и для предыдущих случаев, поиск по размеру можно комбинировать с другими способами поиска. Например, вы можете найти файлы с определенным названием, размером и типом.

Источник

Как найти текстовый документ на компьютере, если не помнишь название

Poisk

Эволюция функции «Поиск»

Первоначально поговорим об эволюции поисковой функции с появлением новых версий Windows. Помните XP? Окно поиска было отдельным. Ещё там сидел симпатичный помощник – собачка или кто-то другой. Попасть в него можно было через «Пуск».

Poisk1

В левую часть окна были вынесены настройки поиска:

Результаты отображались в правой части окна. На мой взгляд, очень удобно всё было устроено.

В новых версиях Windows – 7, 8 и 10 функция претерпела косметические изменения. Почему косметические? Да потому что её действие осталось прежним, но только параметры поиска задаются автоматически, когда в строку, расположенную и сразу в меню Пуск, и в каждой папке, вы вписываете значение для поиска. Либо их можно также настроить, но совершенно в другом месте. Исключение – только поиск по содержанию документа, но и это легко решаемо. Пока непонятно? Рассмотрим подробнее по каждому параметру чуть ниже. Зачем разработчики всё усложнили, точнее, упростили? Видимо, они заботились о нас вечно занятых пользователях.

Вот как выглядит поисковая строка в Windows 10.

Poisk2

А вот так в восьмой точка один версия ОС.

Poisk3

Поскольку с XP всё понятно, я буду рассказывать о различных возможностях поиска на примере «восьмёрки», тем более «семёрка» и «десятка» от неё в этом вопросе практически не отличаются.

Начинаем искать

Друзья, хватит разглагольствовать, приступим к основному вопросу — как можно найти потерявшийся документ Word на компьютере по разным его характеристикам.

Все текстовые документы

Сначала давайте попробуем найти на компьютере абсолютно все текстовые документы, не оглядываясь на такие параметры, как их название, содержимое и дата создания. Для этого откройте «Мой…», «Этот…» или просто «Компьютер». В правом верхнем его углу, рядом со строкой пути, найдётся и поисковая строка. А по соседству с основными разделами меню («Файл», «Вид» и другими) найдётся раздел «Поиск». Забегая вперёд, скажу, что именно там находятся настройки основных параметров.

Poisk4

Друзья, если вы хотя бы знаете, в какой папке находятся ваши текстовые документы, то перейдите в неё – это значительно облегчит работу вашей машине. Для поиска всех текстовых документов в строке необходимо вписать значение *.doc, *.docx или *.txt (зависит от того, что вы планируете найти).

По имени

Если вы знаете имя документа, то отыскать его не составит труда. Просто введите имя в строку поиска, и «вкушайте плоды». Но что делать, если название нужного файла в голове не сохранилось? В таком случае у вас остаётся ещё несколько вариантов – найти нужный документ, отсортировав имеющиеся по дате его рождения на свет (или изменения), по размеру (от пустых и крошечных до огромных и гигантских), по типу (выбрав «документ») или по внутреннему тексту.

По дате

Зайдите в любую папку, поставьте курсор в поисковую строку. В этот же момент отобразится новый раздел меню «Поиск». Раскройте его содержимое. Среди прочих настроек вы увидите параметр «по дате создания» (или последнего изменения). Среди возможных вариантов диапазоны времени от «сегодня» до «в прошлом году». Или просто попробуйте в строку ввести значение в виде точной даты. В результатах должны отобразиться все документы, созданные или изменённые указанного числа.

Poisk5

По типу

Среди тех же настроек имеется параметр «по типу». Перечень возможных вариантов включает файлы всех возможных типов – от календаря и контакта до музыки и фильма. В нашем случае требуется выбрать значение «документ».

Poisk6

По размеру

Тут же можно выбрать и размер. Машина будет искать даже пустые документы. Максимальный размер для поиска – 128 мегабайт.

Poisk7

По содержанию

Друзья, вот и подошли к тому, с чего начали – поиск текстового файла по его содержимому. Есть два варианта. Первый – это отметить галочкой нужный параметр всё в тех же настройках. Там есть раздел «Дополнительные параметры», в котором следует пометить галочкой пунктик «Содержимое файлов». Затем вводите нужную фразу в строке и запускайте поисковый процесс.

Poisk8

Poisk9

Poisk10

В то же окно настроек можно попасть и по-другому (актуально для «семёрки»):

Poisk11

Друзья, настроив поисковую функцию, вам останется только написать фразу из текста содержимого в строке и подождать результатов. Стоит заметить, что в этом случае поиск займёт более длительное время, за которое я успел налить себе чай и выпить его. На сегодня всё. До новых тем.

Источник

Как найти все файлы excel на компьютере

Как найти нужный файл на компьютере? На моем компьютере столько информации, а найти то, что нужно не могу. Вроде бы все время стараюсь все файлы тут же рассортировать по папкам, а все равно не помню, где что находиться. Иной раз такое зло берет… Срочно нужен файл, и знаю, что он у меня есть, а где – не знаю. Но часто я еще и не помню, как этот файл называется. Знакомая ситуация?

Как найти нужный файл на компьютере?

Для начала нам необходимо открыть окно поиска. Сразу оговорюсь, что описываемый метод не подходит для Windows 7, так как там и так все просто. Заходишь в проводник и ищешь.

А в Windows XP открыть окно поиска можно тремя способами.

Poisk fayla 1

Нажмите кнопку Поиск на панели инструментов;

Выберите Файлы и папки ;

Poisk fayla 2

Если вы помните хотя бы одно слово из названия файла, то впишите это слово в первое и второе окошко поиска. Если точно помните хоть одно слово (если несколько слов – еще лучше) внутри файла, то пишите его во втором окошке.

Я ничего кроме слова «заработок» из этого файла не помню.

Poisk fayla 3

Ниже в поле Поиск в: укажите на каком диске искать. Если у вас только один жесткий диск, то можете ничего не указывать.

Еще ниже можете открыть по двойной стрелочке добавочный поиск;

Poisk fayla 4

В нем вы можете указать примерную дату (когда вы его открывали последний раз) файла, и его размер (ну это вы, наверное, не помните);

В дополнительных опциях можно указать Тип файла (PDF, Word, Excel ит.д.) если вы его помните.

Нажмите кнопку Поиск и ждите.

Вот, что мой песик нашел.

Poisk fayla 5

Если поставить в слове вместо какой-то буквы знак вопроса, то поиск будет уже немного другой. Этот знак говорит о том, что вместо него может быть любая другая буква.

Если вначале или в конце слова поставить звездочку ( * ), то поиск будет по тому слову, которое вы написали, но заодно будут найдены файлы с каким-нибудь словом впереди (если звездочка стоит вначале слова) или сзади (если вы поставили звездочку в конце слова).

Вот таким нехитрым способом можно произвести поиск потерянных файлов.

Если у вас еще что-то пропало, то почитайте:

В Windows 7 разработана функция поиска файлов и библиотеки, которые облегчают поиск и другие операции с файлами.

В этом уроке вы узнаете, как получить доступ к содержимому компьютера с помощью поиска и библиотек. Более того, вы познакомитесь с функциями, которые предлагают удобную настройку, например, теги, фильтры поиска, создание библиотек и так далее.

Что такое библиотеки?

Большинство пользователей получают доступ к файлам с помощью папки «Мои документы», диска «C», или других мест. Возможно вы привыкли перебирать многоуровневые стеки папок, чтобы добраться до нужного файла. Это может занимать много времени, особенно, если вы не помните, где лежит файл. Для упрощения поиска нужного контента Microsoft разработала Библиотеки.

Библиотеки – это коллекции, сохраненной вами информации, к которой легко получить доступ с помощью функции Поиска на экране. Библиотеки не заменяют папок, они просто размещают их в одной коллекции. Когда файлы размещены в Библиотеке, их свойства индексируются функцией поиска. Такая индексация делает доступ к файлам в Поиске быстрее и проще.

По умолчанию в Windows 7 есть четыре стандартные библиотеки: Документы, Изображения, Музыка и Видео. В этом уроке мы также покажем, как создать свою собственную библиотеку.

Понимание Проводника поможет вам лучше ориентироваться в содержимом и облегчит работу с файлами и папками.

999080999a

6583080ea8

1) Навигационные кнопки

Используйте кнопки Вперед и Назад, чтобы перемещаться между папками.

2) Панель инструментов

В зависимости от типов объектов в области библиотек на панели инструментов меняются ярлыки.

3) Область переходов или панель навигации

Вы можете добраться до папки традиционным способом в Области переходов.

4) Область сведений

Область сведений позволяет вам увидеть дополнительную информацию, добавить ключевые слова и категории для выбранного объекта.

image799

Используйте адресную строку, чтобы посмотреть путь до текущей папки.

6) Область библиотек

Объекты можно объединить в Библиотеки.

Нажмите ее, чтобы изменить способ отображения объектов.

fpic32041c81

8) Кнопка показа области предпросмотра

Нажмите на нее, чтобы открыть область предпросмотра.

nifile gaa9537

Используйте поле поиска для поиска файлов и папок.

В зависимости от Библиотеки, вы можете упорядочить содержимое по месяцам, дням, оценкам и др. параметрам.

1a9c36161d84ca38f7b3b191

Как работать с проводником в Windows

Чтобы изменить способ показа содержимого папок:

Существует несколько способов отображения содержимого папок. Например, вам может больше нравится отображение в виде «Таблица», нежели просмотр документов с отображением «Огромные значки» (подходящим для просмотра картинок).

sisimagesmyc

Чтобы упорядочить содержимое:

В зависимости от Библиотеки, вы можете упорядочить содержимое по месяцам, дням, категориям и т.д.

1270863d78ad

Использование Поиска

Для поиска в Библиотеках:

byimg tu4f77

Параметры и функции поиска

Поиск и Библиотеки обладают несколькими функциями, которые помогают идентифицировать и упорядочивать файлы. Ключевые слова могут быть добавлены для конкретных файлов, чтобы улучшить результативность Поиска. По ним вы можете упорядочивать содержимое, например, Изображения и Музыку. Ключевые слова или Оценка отображаются в области сведение, как показано ниже.

2vtranss24c1b

Различные фильтры поиска могут применяться для поиска контента или сужения области поиска. В зависимости от библиотеки, фильтры поиска могут включать тип, дату изменения, ключевое слово, автора и т.д. Ниже приведен пример фильтра поиска в библиотеке Видео.

titcopy dyj

Чтобы получить доступ к остальным параметрам поиска, нажмите кнопку Упорядочить и выберите Параметры папок и поиска.

Проводник не единственное место, где можно получить доступ к Поиску и Библиотекам. Вы можете найти область поиска в меню Пуск, и в один клик получить доступ к часто используемым Библиотекам.

ajpich3465d

Библиотеки – это коллекции содержимого, которое определяет пользователь. Они являются новыми «точками входа» для доступа к файлам. Таким образом, при сохранении объектов, Windows 7 направит вас в Библиотеки. У Библиотек есть папки сохранения по умолчанию. Если вы не укажете иное, то ваш файл будет сохранен в соответствующей папке сохранения Библиотеки.

Вам не обязательно сохранять содержимое в Библиотеках и пользоваться ими для доступа к файлам. Панель навигации дает доступ к содержимому компьютера, то есть к сохраненным файлам и папкам. Вы можете пользоваться традиционным путем доступа с помощью многоуровневого списка.

Работа с «Поиском» в Windows 7

Перед тем как приступить к поиску файла или папки, хорошо бы было подумать где именно мог бы располагаться искомый объект. Далее открываем окно с предполагаемым местом расположения, например папка «Компьютер» и в верхнем правом углу в поле поиска вводим слово или фразу для поиска. Поиск начинается автоматически. Если воспользоваться поиском в меню пуск, то он будет произведен только в папках и документах, которые находятся в пуске. То есть получается, что поиск в Windows 7 устроен следующим образом:

Поиск осуществляется в папке в которой была введена искомая фраза и ее подпапках.

Рассмотрим на конкретном примере. Я открою раздел жесткого диска (C:) и введу слово «файл»:

4f74f7 1314135790 poisk v windows 74f

Во время поиска выскочило сообщение о том, что он может быть медленным в неиндексированных расположениях. Это означает, что поиск выполнялся только по имени, а не по имени и содержимому файлов. Можно добавить расположение в индекс, но это занимает много времени.

Если искомый элемент не был найден, можно опуститься в конец результатов поиска и указать место в котором его повторить.

Обратите внимание, что при вводе фразы в поле поиска открывается фильтр, которым можно воспользоваться для более точного поиска, установив определенные критерии поиска.

bb130f21ad8d49d0220

При использовании поиска в меню пуск, щелкните «Ознакомиться с другими результатами», чтобы указать другое расположение или установить фильтры.

В процессе работы с поиском в его строке сохраняются все введенные фразы. Чтобы их удалить наведите на одну из низ курсор мыши и нажмите Delete.

Поиск – это неотъемлемая часть работы любого компьютера, по сути, это его самая главная функция. Если вам, скажем, нужно найти ответы на вопросы элементарные, то, разумеется, заморачиваться над настройками поиска нет смысла. Однако, если вы ставите перед собой и компьютером задачи посложнее, и вам важен конечный результат, лучше об этом побеспокоиться. Стандартный поиск в windows 7, разумеется, принесет свои плоды, выдаст множество результатов, но будут ли они подходящими и нужными? Вопрос риторический, но если вы все же озаботились грамотной настройкой своего компьютера, предлагаю вариации на тему того, как модернизировать/улучшить встроенный поиск в windows 7.

Как настроить поиск в windows 7

Прежде всего, давайте разберемся, как происходит поиск. Найти можно лишь проиндексированные файлы и папки, то есть, такие, которым присвоен индекс. Он присваивается всем элементам, которые находятся в стандартных папках. Для того чтобы настроить индексирование, нужно сделать следующее: зайдите в пусковое меню, ищете «параметры поиска» и в выпадающем списке выбираете «Изменение параметров поиска для папок и файлов». В появившемся окне выбираете вкладку «Поиск», и ставите галочки везде, где считаете нужным, но лучше сделать так, как на картинке ниже. Кстати, советую не выбирать поиск по имени файла, а отдать предпочтения проиндексированным приложениям, так вы ограничите себя от лишнего мусора.

7002731

Источники поиска

Для того чтобы закрепить материал, давайте четко сформулируем те места, по которым будет проводиться обширный поиск информации, а именно:

В целом, если спокойно сесть и разобраться, настройка поиска оказывается достаточно простым процессом. Для этого совсем не нужно обладать узкопрофильными знаниями, достаточно следовать несложным советам данной статьи, и, я уверена, все у вас получится!

В Excel, путём проведения нехитрых махинаций, имеется возможность получения списка файлов, находящихся в папке компьютера. Для этого копируем путь к файлам в папке и вставляем его в нужную ячейку, при этом в конце пути необходимо указать маску поиска файлов вида:

2. *.xl* – все файлы Excel (xls, xlsx, xlsm, xlsb и т.д.);

3. *.exe – все исполняемые файлы (программы);

4. *.docx (doc, docm) – все документы Word. Добавив ключевое слово Рок*.docx в список войдут все названия файлов, начинающиеся со слова «Рок».

1572250766162457432

Дальше нажатием Ctrl+F3 или на вкладке «Формулы» — «Диспетчер имён», в открывшемся окне создадим новое имя Список_файлов и введём в строку Диапазон следующую формулу =ФАЙЛЫ(Лист1!$A$1) где «Лист1» – это название листа, а «А1» – ячейка с адресом

157225083217413376

Теперь в созданном нами названии «Список_файлов» уже содержатся нужные имена файлов, осталось их оттуда извлечь. Для этого используем в ячейке А3 следующую формулу и протянем её вниз: =ЕСЛИОШИБКА(ИНДЕКС(Список_файлов;СТРОКА()-2);””)

1572251038152256526

Функция ЕСЛИОШИБКА нужна, чтобы спрятать ошибку #ССЫЛКА, которая возникает, когда мы протягиваем формулу «с запасом», т.е. на больший по размеру диапазон, чем количество имеющихся у нас файлов.

Функция ИНДЕКС извлекает из массива элемент по номеру, например, формула =ИНДЕКС(Список_файлов; 5) выдаст имя пятого по счету файла в папке.

Функция СТРОКА, выдает порядковый номер текущей строки, из которого мы вычитаем 2, т.к. первая ячейка, куда выводится имя, в нашем случае А3.

m2641977 631025713

Найдены дубликаты

Это смотря для чего.

У меня описанное ТС-ом работает в макросе сбора данных из текстовых файлов генерируемых CMM машиной.

Файл с макросом копируется в папку с выбранной горой текстовых отчетов и макрос делает из кучи барахла удобокопируемые данные.

Если бы делал для себя- может и морочился бы с текстовым файлом и батниками. Но задача была сделать файл для работы необученого ничему оператора. Чтобы нажал кнопку и всё получилось.

Использование экселя для получения данных, безусловно, удобно когда потом эти же данные надо обрабатывать в экселе. Но в общем случае использовать. Эксель для получения списка файлов менее удобно, чем воспользоваться программами, которые прямо для этого и предназначены (не уверен что dir это программа, а не команда оболочки — сам я по юниксам).

Источник

Понравилась статья? Поделить с друзьями:
  • Найти все числа кратные excel
  • Найти все числа в строке excel
  • Найти все цифры в строке excel
  • Найти все строки содержащие слово excel
  • Найти все строки с именем excel