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

Вход

Регистрация

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

 

= Мир MS Excel/поиск наименьшего значения по индексу - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » поиск наименьшего значения по индексу (Макросы/Sub)
поиск наименьшего значения по индексу
Lion79 Дата: Пятница, 21.04.2017, 13:11 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Добрый день эксперты

Столкнулся с задачей по написанию макроса для нахождения наименьшего значения из закрытого файла эксел.

Когда заношу формулу все работает, но загвоздка в том что файл где находится массив очень огромный (1,5 ГБ).
Решил написать макрос, может чем-нибудь поможете?
Файлы прилагаются.

Заранее благодарю
К сообщению приложен файл: data.xls(28Kb) · 0606018.xls(68Kb)
 
Ответить
СообщениеДобрый день эксперты

Столкнулся с задачей по написанию макроса для нахождения наименьшего значения из закрытого файла эксел.

Когда заношу формулу все работает, но загвоздка в том что файл где находится массив очень огромный (1,5 ГБ).
Решил написать макрос, может чем-нибудь поможете?
Файлы прилагаются.

Заранее благодарю

Автор - Lion79
Дата добавления - 21.04.2017 в 13:11
CAHO Дата: Воскресенье, 23.04.2017, 13:33 | Сообщение № 2
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Вы хотите сказать, что файл весит 1,5 ГБ? Если не секрет что в нём? Фотографии?
 
Ответить
СообщениеВы хотите сказать, что файл весит 1,5 ГБ? Если не секрет что в нём? Фотографии?

Автор - CAHO
Дата добавления - 23.04.2017 в 13:33
nilem Дата: Воскресенье, 23.04.2017, 14:16 | Сообщение № 3
Группа: Авторы
Ранг: Старожил
Сообщений: 1203
Репутация: 439 ±
Замечаний: 0% ±

Excel 2013
если формулы работают, может только немного упростить?:
[vba]
Код
Sub ertert()
Dim x, i&
With Sheets("data")
    With .Range("C4:D" & .Cells(Rows.Count, 3).End(xlUp).Row)
        x = .Value
        For i = 1 To UBound(x)
'            x(i, 1) = "=SMALL('D:\Загрузки\[D.xls]d'!R" & x(i, 1) & "C10:R" & x(i, 1) & "C26,RC[-2])"
            x(i, 1) = "=SMALL('D:\[D.xls]d'!R" & x(i, 1) & "C10:R" & x(i, 1) & "C26,RC[-2])"
        Next i
        .Offset(, 3).Resize(, 1).Value = x
    End With
End With
End Sub
[/vba]


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениеесли формулы работают, может только немного упростить?:
[vba]
Код
Sub ertert()
Dim x, i&
With Sheets("data")
    With .Range("C4:D" & .Cells(Rows.Count, 3).End(xlUp).Row)
        x = .Value
        For i = 1 To UBound(x)
'            x(i, 1) = "=SMALL('D:\Загрузки\[D.xls]d'!R" & x(i, 1) & "C10:R" & x(i, 1) & "C26,RC[-2])"
            x(i, 1) = "=SMALL('D:\[D.xls]d'!R" & x(i, 1) & "C10:R" & x(i, 1) & "C26,RC[-2])"
        Next i
        .Offset(, 3).Resize(, 1).Value = x
    End With
End With
End Sub
[/vba]

Автор - nilem
Дата добавления - 23.04.2017 в 14:16
Lion79 Дата: Понедельник, 24.04.2017, 13:40 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
CAHO, добрый день

Нет там не фото, а оооочень много данных значений )
 
Ответить
СообщениеCAHO, добрый день

Нет там не фото, а оооочень много данных значений )

Автор - Lion79
Дата добавления - 24.04.2017 в 13:40
Lion79 Дата: Понедельник, 24.04.2017, 13:58 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
nilem, Добрый день

СПАСИБО огромное, а можно будет к макросу объяснения написать?
и как формула понимает в какой строчке искать?
и можно ли сразу вставлять как значение?

заранее благодарю
 
Ответить
Сообщениеnilem, Добрый день

СПАСИБО огромное, а можно будет к макросу объяснения написать?
и как формула понимает в какой строчке искать?
и можно ли сразу вставлять как значение?

заранее благодарю

Автор - Lion79
Дата добавления - 24.04.2017 в 13:58
Lion79 Дата: Понедельник, 24.04.2017, 15:26 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
nilem,

можно еще чтоб адрес ячейки вставлял рядом?
 
Ответить
Сообщениеnilem,

можно еще чтоб адрес ячейки вставлял рядом?

Автор - Lion79
Дата добавления - 24.04.2017 в 15:26
nilem Дата: Понедельник, 24.04.2017, 16:52 | Сообщение № 7
Группа: Авторы
Ранг: Старожил
Сообщений: 1203
Репутация: 439 ±
Замечаний: 0% ±

Excel 2013
Насчет значений можно так:
[vba]
Код
Sub ertert()
Dim x, i&
With Sheets("data")
    With .Range("C4:D" & .Cells(Rows.Count, 3).End(xlUp).Row)
        x = .Value
        For i = 1 To UBound(x)
            'R" & x(i, 1) - 'это номер строки, который записан в ст. С
            x(i, 1) = "=SMALL('D:\Загрузки\[D.xls]d'!R" & x(i, 1) & "C10:R" & x(i, 1) & "C26,RC[-2])"
            '  x(i, 1) = "=SMALL('D:\[D.xls]d'!R" & x(i, 1) & "C10:R" & x(i, 1) & "C26,RC[-2])"
        Next i
        With .Offset(, 3).Resize(, 1)
            .Value = x
            .Value = .Value    'и можно ли сразу вставлять как значение? Можно )
        End With
    End With
End With
End Sub
[/vba]
а вот адрес ячейки - в смысле, какой ячейки?


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеНасчет значений можно так:
[vba]
Код
Sub ertert()
Dim x, i&
With Sheets("data")
    With .Range("C4:D" & .Cells(Rows.Count, 3).End(xlUp).Row)
        x = .Value
        For i = 1 To UBound(x)
            'R" & x(i, 1) - 'это номер строки, который записан в ст. С
            x(i, 1) = "=SMALL('D:\Загрузки\[D.xls]d'!R" & x(i, 1) & "C10:R" & x(i, 1) & "C26,RC[-2])"
            '  x(i, 1) = "=SMALL('D:\[D.xls]d'!R" & x(i, 1) & "C10:R" & x(i, 1) & "C26,RC[-2])"
        Next i
        With .Offset(, 3).Resize(, 1)
            .Value = x
            .Value = .Value    'и можно ли сразу вставлять как значение? Можно )
        End With
    End With
End With
End Sub
[/vba]
а вот адрес ячейки - в смысле, какой ячейки?

Автор - nilem
Дата добавления - 24.04.2017 в 16:52
Lion79 Дата: Вторник, 25.04.2017, 11:18 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
nilem, Добрый день

а вот адрес ячейки - в смысле, какой ячейки?


Адрес той ячейки, которую находим.

заранее благодарю
 
Ответить
Сообщениеnilem, Добрый день

а вот адрес ячейки - в смысле, какой ячейки?


Адрес той ячейки, которую находим.

заранее благодарю

Автор - Lion79
Дата добавления - 25.04.2017 в 11:18
nilem Дата: Вторник, 25.04.2017, 11:47 | Сообщение № 9
Группа: Авторы
Ранг: Старожил
Сообщений: 1203
Репутация: 439 ±
Замечаний: 0% ±

Excel 2013
Lion79, привет
пробуем:
[vba]
Код
Sub ertert33()
Dim x, i&, rw&
With Sheets("data")
    With .Range("C4:D" & .Cells(Rows.Count, 3).End(xlUp).Row)
        x = .Value
        For i = 1 To UBound(x)
            rw = x(i, 1) 'номер строки, который записан в ст. С
            x(i, 1) = "=SMALL('D:\Загрузки\[D.xls]d'!R" & rw & "C10:R" & rw & "C26,RC[-2])"
            x(i, 2) = "=ADDRESS(RC[-4],MATCH(RC[-1],'D:\Загрузки\[D.xls]d'!R" & rw & "C10:R" & rw & "C26,0)+9,4)"
        Next i
        With .Offset(, 3)
            .Value = x
            .Value = .Value 'и можно ли сразу вставлять как значение? Можно )
        End With
    End With
End With
End Sub
[/vba]


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеLion79, привет
пробуем:
[vba]
Код
Sub ertert33()
Dim x, i&, rw&
With Sheets("data")
    With .Range("C4:D" & .Cells(Rows.Count, 3).End(xlUp).Row)
        x = .Value
        For i = 1 To UBound(x)
            rw = x(i, 1) 'номер строки, который записан в ст. С
            x(i, 1) = "=SMALL('D:\Загрузки\[D.xls]d'!R" & rw & "C10:R" & rw & "C26,RC[-2])"
            x(i, 2) = "=ADDRESS(RC[-4],MATCH(RC[-1],'D:\Загрузки\[D.xls]d'!R" & rw & "C10:R" & rw & "C26,0)+9,4)"
        Next i
        With .Offset(, 3)
            .Value = x
            .Value = .Value 'и можно ли сразу вставлять как значение? Можно )
        End With
    End With
End With
End Sub
[/vba]

Автор - nilem
Дата добавления - 25.04.2017 в 11:47
Lion79 Дата: Вторник, 25.04.2017, 15:06 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
получилось,

а можно только чтоб номер столбца указывал в цифровом формате )
 
Ответить
Сообщениеполучилось,

а можно только чтоб номер столбца указывал в цифровом формате )

Автор - Lion79
Дата добавления - 25.04.2017 в 15:06
Lion79 Дата: Вторник, 25.04.2017, 15:08 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
nilem,

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

премного благодарен
 
Ответить
Сообщениеnilem,

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

премного благодарен

Автор - Lion79
Дата добавления - 25.04.2017 в 15:08
nilem Дата: Вторник, 25.04.2017, 17:24 | Сообщение № 12
Группа: Авторы
Ранг: Старожил
Сообщений: 1203
Репутация: 439 ±
Замечаний: 0% ±

Excel 2013
вот эту строку
[vba]
Код
x(i, 2) = "=ADDRESS(RC[-4],MATCH(RC[-1],'D:\Загрузки\[D.xls]d'!R" & rw & "C10:R" & rw & "C26,0)+9,4)"
[/vba]
запишите так:
[vba]
Код
x(i, 2) = "=MATCH(RC[-1],'D:\Загрузки\[D.xls]d'!R" & rw & "C10:R" & rw & "C26,0)+9"
[/vba]
Цитата
...зная номер строчки и номер столбца

Например, Rw номер строки, Cl номер столбца:
[vba]
Код
x(i, 1) = "='D:\Загрузки\[D.xls]d'!R" & Rw & "C" & Cl"
[/vba]


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениевот эту строку
[vba]
Код
x(i, 2) = "=ADDRESS(RC[-4],MATCH(RC[-1],'D:\Загрузки\[D.xls]d'!R" & rw & "C10:R" & rw & "C26,0)+9,4)"
[/vba]
запишите так:
[vba]
Код
x(i, 2) = "=MATCH(RC[-1],'D:\Загрузки\[D.xls]d'!R" & rw & "C10:R" & rw & "C26,0)+9"
[/vba]
Цитата
...зная номер строчки и номер столбца

Например, Rw номер строки, Cl номер столбца:
[vba]
Код
x(i, 1) = "='D:\Загрузки\[D.xls]d'!R" & Rw & "C" & Cl"
[/vba]

Автор - nilem
Дата добавления - 25.04.2017 в 17:24
Lion79 Дата: Среда, 26.04.2017, 07:28 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
nilem, доброе утро

не могли бы вы посмотреть вложенный рисунок

там ситуация такая, что в след. столбце нужно получить данные из файла B.xls, лист b, зная номер строчки и номер столбца.
 
Ответить
Сообщениеnilem, доброе утро

не могли бы вы посмотреть вложенный рисунок

там ситуация такая, что в след. столбце нужно получить данные из файла B.xls, лист b, зная номер строчки и номер столбца.

Автор - Lion79
Дата добавления - 26.04.2017 в 07:28
Lion79 Дата: Среда, 26.04.2017, 07:34 | Сообщение № 14
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Lion79,

забыл вложить рисунок )
К сообщению приложен файл: 7927283.jpg(40Kb)
 
Ответить
СообщениеLion79,

забыл вложить рисунок )

Автор - Lion79
Дата добавления - 26.04.2017 в 07:34
Pelena Дата: Среда, 26.04.2017, 08:10 | Сообщение № 15
Группа: Модераторы
Ранг: Местный житель
Сообщений: 11161
Репутация: 2486 ±
Замечаний: 0% ±

Excel 2010 & Mac Excel 2011
в след. столбце нужно получить данные из файла B.xls, лист b, зная номер строчки и номер столбца

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


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
Сообщение
в след. столбце нужно получить данные из файла B.xls, лист b, зная номер строчки и номер столбца

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

Автор - Pelena
Дата добавления - 26.04.2017 в 08:10
Lion79 Дата: Среда, 26.04.2017, 08:14 | Сообщение № 16
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Pelena, добрый день

извиняюсь, просто загорелся ответами )
 
Ответить
СообщениеPelena, добрый день

извиняюсь, просто загорелся ответами )

Автор - Lion79
Дата добавления - 26.04.2017 в 08:14
Lion79 Дата: Среда, 26.04.2017, 08:17 | Сообщение № 17
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Pelena, можно будет создать новую тему, а тут указать ссылку на созданную тему?
 
Ответить
СообщениеPelena, можно будет создать новую тему, а тут указать ссылку на созданную тему?

Автор - Lion79
Дата добавления - 26.04.2017 в 08:17
Pelena Дата: Среда, 26.04.2017, 08:18 | Сообщение № 18
Группа: Модераторы
Ранг: Местный житель
Сообщений: 11161
Репутация: 2486 ±
Замечаний: 0% ±

Excel 2010 & Mac Excel 2011
Можно


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеМожно

Автор - Pelena
Дата добавления - 26.04.2017 в 08:18
Lion79 Дата: Среда, 26.04.2017, 08:33 | Сообщение № 19
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Pelena, ок
 
Ответить
СообщениеPelena, ок

Автор - Lion79
Дата добавления - 26.04.2017 в 08:33
Lion79 Дата: Среда, 26.04.2017, 08:39 | Сообщение № 20
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
nilem, добрый день

Например, Rw номер строки, Cl номер столбца:
x(i, 1) = "='D:\Загрузки\[D.xls]d'!R" & Rw & "C" & Cl"


по этому вопросу, попросили создать новую тему. ссылка указана ниже

http://www.excelworld.ru/forum/10-33497-1
 
Ответить
Сообщениеnilem, добрый день

Например, Rw номер строки, Cl номер столбца:
x(i, 1) = "='D:\Загрузки\[D.xls]d'!R" & Rw & "C" & Cl"


по этому вопросу, попросили создать новую тему. ссылка указана ниже

http://www.excelworld.ru/forum/10-33497-1

Автор - Lion79
Дата добавления - 26.04.2017 в 08:39
Мир MS Excel » Вопросы и решения » Вопросы по VBA » поиск наименьшего значения по индексу (Макросы/Sub)
Страница 1 из 11
Поиск:

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