Переход на другой лист при введении даты
VIDEO56
Дата: Пятница, 17.07.2015, 07:21 |
Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 262
Репутация:
23
±
Замечаний:
0% ±
Excel 2010
Доброй всем пятницы. Подскажите код макроса если в листе 1 в столбе А внесена дата, то должен быть осуществлен переход на лист отчет на ячейку отвечающей данной дате.
Доброй всем пятницы. Подскажите код макроса если в листе 1 в столбе А внесена дата, то должен быть осуществлен переход на лист отчет на ячейку отвечающей данной дате. VIDEO56
Всем удачного дня!
Ответить
Сообщение Доброй всем пятницы. Подскажите код макроса если в листе 1 в столбе А внесена дата, то должен быть осуществлен переход на лист отчет на ячейку отвечающей данной дате. Автор - VIDEO56 Дата добавления - 17.07.2015 в 07:21
miver
Дата: Пятница, 17.07.2015, 08:42 |
Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 190
Репутация:
37
±
Замечаний:
0% ±
Excel 2010
Так нужно? [moder]посмотрите ps отсюда . Макросов это тоже касается. Большие можно сувать под спойлер
Так нужно? [moder]посмотрите ps отсюда . Макросов это тоже касается. Большие можно сувать под спойлер miver
Ответить
Сообщение Так нужно? [moder]посмотрите ps отсюда . Макросов это тоже касается. Большие можно сувать под спойлер Автор - miver Дата добавления - 17.07.2015 в 08:42
KSV
Дата: Пятница, 17.07.2015, 09:54 |
Сообщение № 3
Группа: Друзья
Ранг: Ветеран
Сообщений: 770
Репутация:
255
±
Замечаний:
0% ±
Excel 2013
чуть подправил, а то при вводе "не даты" попадало в бесконечный цикл, и при очистке ячейки просило ввести дату[vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Range("A:A"), Target(1)) Is Nothing Then Application.EnableEvents = False If IsDate(Target(1)) Then Лист2.Activate Set Target = Лист2.Range("A:A").Find(Target(1)) If Not Target Is Nothing Then Target.Select ElseIf Len(Target(1)) Then Target(1).Select MsgBox "Введите дату, пожалуйста!", vbInformation Target(1).ClearContents End If Application.EnableEvents = True End If End Sub
[/vba]
чуть подправил, а то при вводе "не даты" попадало в бесконечный цикл, и при очистке ячейки просило ввести дату[vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Range("A:A"), Target(1)) Is Nothing Then Application.EnableEvents = False If IsDate(Target(1)) Then Лист2.Activate Set Target = Лист2.Range("A:A").Find(Target(1)) If Not Target Is Nothing Then Target.Select ElseIf Len(Target(1)) Then Target(1).Select MsgBox "Введите дату, пожалуйста!", vbInformation Target(1).ClearContents End If Application.EnableEvents = True End If End Sub
[/vba] KSV
KSV.VBA@gmail.com Яндекс.Деньги: 410011921213333
Ответить
Сообщение чуть подправил, а то при вводе "не даты" попадало в бесконечный цикл, и при очистке ячейки просило ввести дату[vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Range("A:A"), Target(1)) Is Nothing Then Application.EnableEvents = False If IsDate(Target(1)) Then Лист2.Activate Set Target = Лист2.Range("A:A").Find(Target(1)) If Not Target Is Nothing Then Target.Select ElseIf Len(Target(1)) Then Target(1).Select MsgBox "Введите дату, пожалуйста!", vbInformation Target(1).ClearContents End If Application.EnableEvents = True End If End Sub
[/vba] Автор - KSV Дата добавления - 17.07.2015 в 09:54
Rioran
Дата: Пятница, 17.07.2015, 10:01 |
Сообщение № 4
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация:
290
±
Замечаний:
0% ±
Excel 2013
KSV , привет! А что означает единичка при Target ? Это то же самое, что Target.Cells(1, 1) ?
KSV , привет! А что означает единичка при Target ? Это то же самое, что Target.Cells(1, 1) ?Rioran
Роман, Москва, voronov_rv@mail.ru Яндекс-Деньги: 41001312674279
Ответить
Сообщение KSV , привет! А что означает единичка при Target ? Это то же самое, что Target.Cells(1, 1) ?Автор - Rioran Дата добавления - 17.07.2015 в 10:01
VIDEO56
Дата: Пятница, 17.07.2015, 10:05 |
Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 262
Репутация:
23
±
Замечаний:
0% ±
Excel 2010
miver, KSV, Да. Именно так. Спасибо огромное за скорость и качество!
miver, KSV, Да. Именно так. Спасибо огромное за скорость и качество! VIDEO56
Всем удачного дня!
Ответить
Сообщение miver, KSV, Да. Именно так. Спасибо огромное за скорость и качество! Автор - VIDEO56 Дата добавления - 17.07.2015 в 10:05
KSV
Дата: Пятница, 17.07.2015, 10:23 |
Сообщение № 6
Группа: Друзья
Ранг: Ветеран
Сообщений: 770
Репутация:
255
±
Замечаний:
0% ±
Excel 2013
Привет, Rioran ! Совершенно верно, это сокращенная запись от Target.Cells(1) . Только, IMHO, всеже, корректнее брать не первую ячейку, а активную.
Привет, Rioran ! Совершенно верно, это сокращенная запись от Target.Cells(1) . Только, IMHO, всеже, корректнее брать не первую ячейку, а активную. KSV
KSV.VBA@gmail.com Яндекс.Деньги: 410011921213333
Сообщение отредактировал KSV - Пятница, 17.07.2015, 10:43
Ответить
Сообщение Привет, Rioran ! Совершенно верно, это сокращенная запись от Target.Cells(1) . Только, IMHO, всеже, корректнее брать не первую ячейку, а активную. Автор - KSV Дата добавления - 17.07.2015 в 10:23
_Boroda_
Дата: Пятница, 17.07.2015, 10:28 |
Сообщение № 7
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация:
6481
±
Замечаний:
0% ±
2003; 2007; 2010; 2013 RUS
Роман [vba]Код
a1 = Target(1).Address a2 = Target.Cells(1, 1).Address a3 = Target.Range("A1").Address a4 = Target.Cells(1).Address a5 = Target.Cells(, 1).Address
[/vba]Одинаково Сергей, а почему не просто [vba]Код
If Target.Column=1 Then
[/vba]
Роман [vba]Код
a1 = Target(1).Address a2 = Target.Cells(1, 1).Address a3 = Target.Range("A1").Address a4 = Target.Cells(1).Address a5 = Target.Cells(, 1).Address
[/vba]Одинаково Сергей, а почему не просто [vba]Код
If Target.Column=1 Then
[/vba] _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Роман [vba]Код
a1 = Target(1).Address a2 = Target.Cells(1, 1).Address a3 = Target.Range("A1").Address a4 = Target.Cells(1).Address a5 = Target.Cells(, 1).Address
[/vba]Одинаково Сергей, а почему не просто [vba]Код
If Target.Column=1 Then
[/vba] Автор - _Boroda_ Дата добавления - 17.07.2015 в 10:28
KSV
Дата: Пятница, 17.07.2015, 10:38 |
Сообщение № 8
Группа: Друзья
Ранг: Ветеран
Сообщений: 770
Репутация:
255
±
Замечаний:
0% ±
Excel 2013
Сергей, а почему не просто
Привет, Саш! Это ж не я писал, я только чуть подправил (хотя, изменить проверку именно по номеру столбца, вместо Intersect, желание было... )
Сергей, а почему не просто
Привет, Саш! Это ж не я писал, я только чуть подправил (хотя, изменить проверку именно по номеру столбца, вместо Intersect, желание было... )KSV
KSV.VBA@gmail.com Яндекс.Деньги: 410011921213333
Ответить
Сообщение Сергей, а почему не просто
Привет, Саш! Это ж не я писал, я только чуть подправил (хотя, изменить проверку именно по номеру столбца, вместо Intersect, желание было... )Автор - KSV Дата добавления - 17.07.2015 в 10:38
Rioran
Дата: Пятница, 17.07.2015, 11:10 |
Сообщение № 9
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация:
290
±
Замечаний:
0% ±
Excel 2013
KSV , _Boroda_ , спасибо за наводки! [offtop]Поэкспериментировал и понял, как работает такая ссылка: [vba]Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Target(3, 3)(1, 3)(1, 2) = 1 End Sub
[/vba] Но не совсем понятно, что происходит при записи отрицательных чисел. Получаю непредсказуемые результаты. UPD: а, не, понял. Единица - текущая координата, ноль - координата минус 1, отрицательные числа - координата минус число и минус один.[/offtop]
KSV , _Boroda_ , спасибо за наводки! [offtop]Поэкспериментировал и понял, как работает такая ссылка: [vba]Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Target(3, 3)(1, 3)(1, 2) = 1 End Sub
[/vba] Но не совсем понятно, что происходит при записи отрицательных чисел. Получаю непредсказуемые результаты. UPD: а, не, понял. Единица - текущая координата, ноль - координата минус 1, отрицательные числа - координата минус число и минус один.[/offtop]Rioran
Роман, Москва, voronov_rv@mail.ru Яндекс-Деньги: 41001312674279
Сообщение отредактировал Rioran - Пятница, 17.07.2015, 11:19
Ответить
Сообщение KSV , _Boroda_ , спасибо за наводки! [offtop]Поэкспериментировал и понял, как работает такая ссылка: [vba]Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Target(3, 3)(1, 3)(1, 2) = 1 End Sub
[/vba] Но не совсем понятно, что происходит при записи отрицательных чисел. Получаю непредсказуемые результаты. UPD: а, не, понял. Единица - текущая координата, ноль - координата минус 1, отрицательные числа - координата минус число и минус один.[/offtop]Автор - Rioran Дата добавления - 17.07.2015 в 11:10
_Boroda_
Дата: Пятница, 17.07.2015, 11:22 |
Сообщение № 10
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация:
6481
±
Замечаний:
0% ±
2003; 2007; 2010; 2013 RUS
о не совсем понятно, что происходит при записи отрицательных чисел
target(n) n=1 - текущая строка =0 - строка, на 1 выше =-1 - строка, на 2 выше Аналогично со столбцами
о не совсем понятно, что происходит при записи отрицательных чисел
target(n) n=1 - текущая строка =0 - строка, на 1 выше =-1 - строка, на 2 выше Аналогично со столбцами_Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение о не совсем понятно, что происходит при записи отрицательных чисел
target(n) n=1 - текущая строка =0 - строка, на 1 выше =-1 - строка, на 2 выше Аналогично со столбцамиАвтор - _Boroda_ Дата добавления - 17.07.2015 в 11:22