powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / запомнить значение ячейки другой книги
25 сообщений из 25, страница 1 из 1
запомнить значение ячейки другой книги
    #35406255
Guest1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос по VBA

Надо открыть книгу2 Excel из другой книги1 .
Потом в открывшейся книге2 стать курсором (вручную) на любую ячейку, запомнить её значение (например оно "111").
Закрыть (вручную) книгу2, и оказавшись в книге1 получить значение "111".

Пытаюсь

Sub Кнопка3_Щелкнуть()
Set Excel1 = CreateObject("Excel.Application")
Excel1.Visible = True
Excel1.Workbooks.Open "d:\отчёт.xls"
bb = Excel1.ActiveCell.Value ' (***)
end sub

на строке (***) ошибка

как всё-таки получить значение другой книги?

спасибо
...
Рейтинг: 0 / 0
запомнить значение ячейки другой книги
    #35406260
Grayscale
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bb = Excel1.activeSheet.ActiveCell.Value
...
Рейтинг: 0 / 0
запомнить значение ячейки другой книги
    #35406267
Guest1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Grayscalebb = Excel1.activeSheet.ActiveCell.Value
ошибка ... нет такого метода :(
...
Рейтинг: 0 / 0
запомнить значение ячейки другой книги
    #35406398
Grayscale
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну посмотрите там как его зовут в любом случае нужно обращатся к ячейке через книга-лист-ячейка
...
Рейтинг: 0 / 0
запомнить значение ячейки другой книги
    #35406497
Guest1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrayscaleНу посмотрите там как его зовут в любом случае нужно обращатся к ячейке через книга-лист-ячейка
вот я и не знаю "как его зовут", пробую разные варианты - не получается, вот и прошу помочь
...
Рейтинг: 0 / 0
запомнить значение ячейки другой книги
    #35406532
Grayscale
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас посмотрю..
...
Рейтинг: 0 / 0
запомнить значение ячейки другой книги
    #35406547
Grayscale
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще как раз правильно оказалось activeCell а что за ошибка?
...
Рейтинг: 0 / 0
запомнить значение ячейки другой книги
    #35406552
Grayscale
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно использовать так же excel.application
...
Рейтинг: 0 / 0
запомнить значение ячейки другой книги
    #35406554
Grayscale
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не application а selection конечно
...
Рейтинг: 0 / 0
запомнить значение ячейки другой книги
    #35406613
Guest1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrayscaleВообще как раз правильно оказалось activeCell а что за ошибка?

Sub Кнопка3_Щелкнуть()
Set Excel1 = CreateObject("Excel.Application")
Excel1.Visible = True
Excel1.Workbooks.Open "d:\отчёт.xls"

bb = Excel1.ActiveCell.Value
MsgBox bb

Set Excel1 = Nothing
End Sub

ошибка в том, что MsgBox bb показывает всегда одно и то же значение ячейки открывшейся книги, после её закрытия, несмотря на то, что в открывшейся книге я стою в разных ячейках, оно должно менятся , а не меняется :(
...
Рейтинг: 0 / 0
запомнить значение ячейки другой книги
    #35406882
Gray...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Опишите подробно пожалуйста не очень понятно..
...
Рейтинг: 0 / 0
запомнить значение ячейки другой книги
    #35406969
Guest1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gray...Опишите подробно пожалуйста не очень понятно..
Описываю ...
- Есть книга1 с кнопкой1 и книга2
- нажимаем кнопку1
- открывается книга2
- в этой книге2 ставим курсор на любую ячейку (для примера значение у этой ячейки "Отличное настроение" ...)
- закрываем книга2, оказываемся в книга1
- вот теперь надо вывести=получить=узнать это значение "Отличное настроение"
...
потом повторяем это ещё раз, нажимаем кнопку1 ... и тд
ставим курсор в книга2 например на ячейку со значением "Отличная погода" ...
закрываем книга2, оказываемся в книга1
ожидаемый результат ...получить значение "Отличная погода", та как курсор стоял на этом значении, а получаем опять "Отличное настроение".
Помогите получить правильный результат.
Спасибо
...
Рейтинг: 0 / 0
запомнить значение ячейки другой книги
    #35407210
Grayscale
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если вы закрываете книгу, а потом пытаетесь получить значение из ее ячейки - то вряд-ли у вас что-то получится... В книге2 должен быть код передающий значение из activecell перед закрытием книге1 - сохраняющее в какую-либо ячейку (возможно в экселе есть глобальные переменные на уровне приложения я не в курсе). Разве что так... в любом случае получить значение из ячейки после закрытия книги-невозможно... а если и возможно то, только определенной но никак не activeCell
...
Рейтинг: 0 / 0
запомнить значение ячейки другой книги
    #35521295
Помогите начинающему в Exel.
1 В строках А1, В1, С1 и т.д.меняются числа, при изменении хотя бы одной ячейки надо перезаписывать ячейки А1, В1, С1 и т.д (всю строку) в строки с последующим порядковым номером т.е. А2, А3. А4, А5 и т.д.

В команду Range ("A2") не могу вставить переменную цикла.
...
Рейтинг: 0 / 0
запомнить значение ячейки другой книги
    #35521425
Фотография ДмиДми
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Аркадий ДроздовВ команду Range ("A2") не могу вставить переменную цикла.
(Почти завидует, хотя больше удивляется.)
И где только люди такую траву достают...
...
Рейтинг: 0 / 0
запомнить значение ячейки другой книги
    #35522978
Лучше бы не острили , а помогли человеку слабо ризбирающемуся в программировании. Вопрос по которому прозвучала шутка надеюсь понятен или чтото объяснить.
...
Рейтинг: 0 / 0
запомнить значение ячейки другой книги
    #35523047
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Аркадий Дроздов
> Лучше бы не острили , а помогли человеку слабо ризбирающемуся в программировании.
> Вопрос по которому прозвучала шутка надеюсь понятен или чтото объяснить.


По-первых: Все когда-то начинали!
Во-вторых: За время потраченое на ожидание "у моря погоды", можно было поискать примеры и
почитать справку

З.Ы.
1 - Range("A" & CStr(i))
2 - ActiveSheet.Cells(i, 1)
Сильно помогло?

З.З.Ы.
Трава действительно, забористая

--
С уважением Горбонос Игорь Леонидович

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
запомнить значение ячейки другой книги
    #35523294
Игорь Леонидович
Спасибо огромное за Ваш ответ. Мне действительно это помогло.
А как можно отследить изменения в строке хотя бы в одной ячейке?

P.S. Я работаю конструктором, а не программистом. В прошлом на любительском уровне
изучал С++. Сейчас требуется написать посути макрос для Экселя, и для этого изучать бескрайние просторы визуал бейсика не очень хочется (да и времени нет).
А насчет травки не знаю, не знаю, на меня кофе в больших количествах действует не хуже.
...
Рейтинг: 0 / 0
запомнить значение ячейки другой книги
    #35523349
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Аркадий Дроздов
> А как можно отследить изменения в строке хотя бы в одной ячейке?

У листа есть событие изменения
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
вот в нем и проверять

--
С уважением Горбонос Игорь Леонидович

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
запомнить значение ячейки другой книги
    #35523506
Фотография ДмиДми
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь ГорбоносRange("A" & CStr(i))При всём уважении к человеку, явно воспитанному не на Васике, а на приличных языках программирования: CStr выдаёт ЛОКАЛИЗОВАННЫЙ вариант. В данном случае, поскольку i, будем надеяться, as long, это почти несущественно (почти - потому что CStr может напихать разделители разрядов).
Работать (вспомним, что мы в Васике) будет "A" & i или уж, если захочется поакадемичнее, "A" & LTrim(Str(i))

Игорь Горбонос
> Автор: Аркадий Дроздов
> А как можно отследить изменения в строке хотя бы в одной ячейке?

У листа есть событие изменения
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
вот в нем и проверять
Ин май вери-вери хамбл опиньон: не в нём, а в Private Sub Worksheet_ Change
...
Рейтинг: 0 / 0
запомнить значение ячейки другой книги
    #35523934
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДмиДмиCStr выдаёт ЛОКАЛИЗОВАННЫЙ вариант.
Локализованный имеется в виду это:
Справка по VBAA string containing a date in the short date format of your
system

ДмиДмиИн май вери-вери хамбл опиньон: не в нём, а в Private Sub
Worksheet_Change
Согласен, поторопился ;)


--
С уважением Горбонос Игорь Леонидович

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
запомнить значение ячейки другой книги
    #35523942
Спасибо ДмиДми за понимание.
И если не затруднит выкинте полный тест проверки изменения строки (хотя бы в одной ячейке) на основе Private Sub Worksheet_ Change [/quot].
Визуал бейсик мен мучает с синтаксисом.
Заранее благодарен.
...
Рейтинг: 0 / 0
запомнить значение ячейки другой книги
    #35526650
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я все понимаю, сами когда-то начинали...

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

Из описания я понял только, что Вы имеете некую таблицу с данными,
изменяете данные в первой строке и желаете, чтобы строка с этими
измененными данными переместилась в таблицу (оставшись, естественно,
и на первом месте). Так вопросы-то возникают сразу, например,
данные переносить, сдвигая таблицу (т.е. из первой строки во вторую),
или в конец таблицы можно дописать, зачем вообще таблица на одном листе -
нельзя ли иметь отдельно строку ввода и таблицу данных, зачем вообще
workshhet_change, если можно сделать кнопки с действиями или
сконструировать форму ввода, и, соответственно, реализация при этом
может отличаться существенно...

Чтобы вышенаписанное не казалось бредом, задам прямой вопрос:
А почему нельзя новые данные дописывать _в конец_ существующей таблицы?
(тогда вообще никакого программирования не нужно...)
...
Рейтинг: 0 / 0
запомнить значение ячейки другой книги
    #35526937
Наверное Вы правы.
Поясню.
Есть таблица в первой строке написаны наименование товара, во второй строке кол-во товара ( оно меняется в режиме реального времени). Поэтому надо фиксировать изменение хотя бы одной позиции товара и прописывать все значения второй строки в новую пустую строку в 3, 4 , 5 , и т.д.(до конца рабочего дня)
Поясню для чего это нужно. Некоторый товар покупается совместно с другим . Вот и надо отслеживать что с чем покупалось и в каких пропорциях. Ктото чтото купил пошла запись в новую строку, прошла следующая покупка сделана соответствующая запись в новую строку.В конце дня анализируем что с чем покупалось и формируем склад с учетом потребностей.
...
Рейтинг: 0 / 0
запомнить значение ячейки другой книги
    #35527189
Ребята помогли написать код. Но он работает только когда набиваешь изменения с клавы. У нас изменения в ячейках происходит по протоколу DDE и Excel при таком коде эти изменения не чувствует. Помогите откорректировать.

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Target.Row = 2 Then
Dim iLastRow As Long
iLastRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
If iLastRow < 5 Then iLastRow = 5
Range("A2:BC2").Copy Destination:=Range("A" & iLastRow)
End If
End Sub
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / запомнить значение ячейки другой книги
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]