1 / 1 / 2
Регистрация: 18.01.2013
Сообщений: 65
1

Поиск ячейки в excel

26.03.2015, 21:14. Показов 10240. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
тут немного наваял пользуясь просторами интернета и совсем запутался
что нужно то мне:
1) Найти ячейку
2) Получить адрес строки
3) скопировать ячейку и вставить в новом месте

Данный код может содержать много ошибок
C#
1
2
3
4
5
6
7
8
9
10
Excel.Range Cifra = ObjWorkExcel.get_Range("A1", "100Y");
            var r = Cifra.Find("123", Type.Missing,
                Excel.XlFindLookIn.xlValues, Excel.XlLookAt.xlPart,
                Excel.XlSearchOrder.xlByRows, Excel.XlSearchDirection.xlNext, false,
                Type.Missing, Type.Missing); 
            int ro = r.Row;
 
            Excel.Range RngToCopy = WS.get_Range("C"+ro);
            Excel.Range RngToInsert = WS.get_Range("D" + ro);
            RngToInsert.Insert(Microsoft.Office.Interop.Excel.XlInsertShiftDirection.xlShiftDown, RngToCopy.Copy(Type.Missing));
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.03.2015, 21:14
Ответы с готовыми решениями:

Как выбрать ширину и высоту ячейки Excel? Перенос текста внутри ячейки
Как выбрать ширину и высоту ячейки C# Excel*и перенос текста внутри ячейки или внутри диапазона,...

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

Поиск и замена текста Word из ячейки Excel
Здравствуйте. Стоит такая задача: Требуется создать папку с именем из ячейки эксель, копировать...

Поиск ячейки в excel и передача значения в текстбоксы
Есть таблица excel, которая содержит: Дисциплина|Часов в неделю|Лекций в неделю Менеджмент|4 ...

2
1 / 1 / 2
Регистрация: 18.01.2013
Сообщений: 65
29.03.2015, 19:46  [ТС] 2
Может кто подскажет как допилить

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
Excel.Application excelapp;
            excelapp = new Excel.Application(); 
 
           
            Excel.Application ObjWorkExcel = new Excel.Application(); //сам эксель
            Excel.Workbook WB; //в эту книгу будем копировать
            Excel.Worksheet WS;// в этот лист
            Excel.Workbook ObjWorkBooks;// из этой книги будем копировать
            Excel.Worksheet ObjWorkSheets;//с этого листа
            WB = ObjWorkExcel.Workbooks.Add(System.Reflection.Missing.Value);//создаем новую книгу
            WS = (Excel.Worksheet)WB.Sheets[1];//выбираем 1 лист
            ObjWorkBooks = ObjWorkExcel.Workbooks.Open("d:\\copy.xlsx",
            Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
            Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); //открываем существующую книгу
            ObjWorkSheets = ObjWorkBooks.Worksheets[1];//берем 1 лист
            int LastRow = ObjWorkBooks.Sheets[1].Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell).Row; // находим в ней последнюю строку, можно заменить на известный номер
            
            //ObjWorkSheets.get_Range(Name).Copy(); // копи
                        
            string FindObj = "123";
            int r = 1, i=0 ;
            
            string[] c = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"};
            String Obj = String.Empty;
            String column = String.Empty;
            Obj = "1";
 
 
            
 
            while (Obj != FindObj)
            {
                while (i < c.Length || Obj.Equals(FindObj))
                {
                    r = 7;
                    
                    string Name = c[i] + r; //берем диапазон ячееку
                    Excel.Range ObjE = ObjWorkSheets.get_Range(Name, Type.Missing); //передаем значение ячейки переменной
                    Obj = Convert.ToString(ObjE.Value2); //Конвертируем в строковую
                    Console.WriteLine(Obj); //выводим на экран
                    column = c[i];
                    i++;
                    
                }
                i = 0;
                r++;
            }
            r--;
 
 
            Console.WriteLine("Мы искали " + FindObj + ", нашли \" " + Obj + " \", оно было в ячейке " + column + r + ".");
            Console.ReadKey();
            
            excelapp.Quit();
Миниатюры
Поиск ячейки в excel  
0
1 / 1 / 2
Регистрация: 18.01.2013
Сообщений: 65
30.03.2015, 07:24  [ТС] 3
Работает теперь)))

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Excel = Microsoft.Office.Interop.Excel;
 
 
 
 
 
 
 
 
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
           
            Excel.Application ObjWorkExcel = new Excel.Application(); //сам эксель
            Excel.Workbook WB; //в эту книгу будем копировать
            Excel.Worksheet WS;// в этот лист
            Excel.Workbook ObjWorkBooks;// из этой книги будем копировать
            Excel.Worksheet ObjWorkSheets;//с этого листа
            WB = ObjWorkExcel.Workbooks.Add(System.Reflection.Missing.Value);//создаем новую книгу
            WS = (Excel.Worksheet)WB.Sheets[1];//выбираем 1 лист
            ObjWorkBooks = ObjWorkExcel.Workbooks.Open("d:\\copy.xlsx",
            Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
            Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); //открываем существующую книгу
            ObjWorkSheets = ObjWorkBooks.Worksheets[1];//берем 1 лист
            int LastRow = ObjWorkBooks.Sheets[1].Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell).Row; // находим в ней последнюю строку, можно заменить на известный номер
            
            //ObjWorkSheets.get_Range(Name).Copy(); // копи
                        
            string FindObj = "123";
            int r = 1, i=0 ;
            
            string[] c = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"};
            String Obj = String.Empty;
            String column = String.Empty;
            Obj = "1";
 
 
            
 
            while (Obj != FindObj && r<20000)
            {
                while (i < c.Length && FindObj != Obj)
                {
                  // r = 7;
                    
                    string Name = c[i] + r; //берем диапазон ячееку
                    Excel.Range ObjE = ObjWorkSheets.get_Range(Name, Type.Missing); //передаем значение ячейки переменной
                    Obj = Convert.ToString(ObjE.Value2); //Конвертируем в строковую
                    Console.WriteLine(Obj); //выводим на экран
                    column = c[i];
                    i++;
                    
                }
                i = 0;
                r++;
            }
            r--;
 
 
            Console.WriteLine("Мы искали " + FindObj + ", нашли \" " + Obj + " \", оно было в ячейке " + column + r + ".");
            Console.ReadKey();
 
            ObjWorkExcel.Quit();
           
            
 
        }
    }
}
0
30.03.2015, 07:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.03.2015, 07:24
Помогаю со студенческими работами здесь

Поиск первой пустой ячейки в отфильтрованном столбце Excel
Всем привет. Ну собственно вопрос в заголовке темы. Имеется таблица с 5 столбцами и N...

Поиск в Excel строки и столбца ячейки по ключевому слову
Есть код на VBA, недавно перешел полностью на линукс и начал учить python хотелось бы тоже самое...

MS Office Excel Перенос информации из ячейки в часть данных другой ячейки
День добрый. Добросовестно искал ответ на свой вопрос в течение 20 минут, ничего не нашел... ...

Изменения формата ячейки Excel средствами VBA в зависимости от значения другой ячейки
Здравствуйте. Столкнулся с проблемой. Необходимо на листе Excel Залить, предположим, ячейку &quot;C4&quot;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru