Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на Basic / VBA


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты по данной тематике

Роман Селиверстов
Статус: Советник
Рейтинг: 4308
∙ повысить рейтинг »
Vasiliy83
Статус: Профессионал
Рейтинг: 2240
∙ повысить рейтинг »
Megaloman
Статус: Академик
Рейтинг: 1844
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / Basic/VBA

Номер выпуска:1072
Дата выхода:25.01.2012, 08:30
Администратор рассылки:Vasiliy83 (Профессионал)
Подписчиков / экспертов:162 / 71
Вопросов / ответов:3 / 9

Консультация # 181046: Здравствуйте, уважаемые эксперты! Прошу Вас ответить на следующий вопрос: Как запретить ввод букв в ячейку в Excel?? ( необходим макрос на VBA) спасибо)...


Консультация # 90692: Уважаемые эксперты! Подскажите пожалуйста: есть данные (номера телефонов) в ячейках с A3 по A2000 есть мои данные в ячейках с C3 по С15000 Нужно сравнить все телефоны в столбце А со всеми телефонами в столбце С, и если в ячейке С встречается такой же телефон как и в столбце А, то напротив совпавшего телефона столбца А, в ст...
Консультация # 23691: Доброго времени суток, Уважаемые Эксперты!!!! Такой вопрос: На форме есть объет Picture, так вот как зная путь к файлу-картинки загрузить ее в этот объект. Среда разработки VB 6.00 Спасибо....

Консультация # 181046:

Здравствуйте, уважаемые эксперты! Прошу Вас ответить на следующий вопрос:
Как запретить ввод букв в ячейку в Excel?? ( необходим макрос на VBA)

спасибо)

Дата отправки: 30.11.2010, 20:13
Вопрос задал: Миронычев Виталий (5-й класс)
Всего ответов: 2
Страница онлайн-консультации »


Консультирует Измалков Эдуард Леонидович (Студент):

Здравствуйте, Миронычев Виталий!
в модуле "ЭтаКнига" нужно написать следующее

Код :
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim i As Integer
Const letters As String = "qwertyuiopasdfghjklzxcvbnmёйцукенгшщзхъфывапролджэячсмитьбю"

For i = 1 To Len(Target.Value)
If InStr(1, letters, Mid(Target.Value, i, 1), vbTextCompare) > 0 Then
MsgBox "Нельзя вводить буквы", vbExclamation
Target.Clear
Target.Select
Exit Sub
End If
Next i

End Sub

Консультировал: Измалков Эдуард Леонидович (Студент)
Дата отправки: 30.11.2010, 21:43
Рейтинг ответа:

НЕ одобряю +1 одобряю!


Консультирует Евгений (4-й класс):

Здравствуйте, Миронычев Виталий!
Пропишите в исходнике листа следующее:

Dim TolkoTzifra As String
Private Sub Worksheet_Change(ByVal Target As Range)
If (Target.Rows.Count = 1) And (Target.Columns.Count = 1) Then
Application.EnableEvents = False
If IsNumeric(Target.Value) <> True Then
TolkoTzifra = MsgBox("Вводите только цифры", vbOKOnly + vbCritical, "Ошибка")
Cells(Target.Row, Target.Column).Select
Selection.ClearContents
Selection.NumberFormat = "0.0"
Else:
Cells(Target.Row, Target.Column + 1).Select
End If
Application.EnableEvents = True
End If
End Sub

У меня в Excel макрос пошел прекрасно, чего желаю и Вам smile

Консультировал: Евгений (4-й класс)
Дата отправки: 30.11.2010, 22:30
Рейтинг ответа:

НЕ одобряю +2 одобряю!

Консультация # 90692:

Уважаемые эксперты!
Подскажите пожалуйста:
есть данные (номера телефонов) в ячейках с A3 по A2000
есть мои данные в ячейках с C3 по С15000
Нужно сравнить все телефоны в столбце А со всеми телефонами
в столбце С, и если в ячейке С встречается такой же телефон как и
в столбце А, то напротив совпавшего телефона столбца А, в столбце В
нужно вставить фразу "есть". Так как вручеую считать больше месяца,
то мне сказали написать макрос. Даже ума не приложу что именно писать,
так как у меня слабые знания в VisualBasic. Начал делать, поставил кнопку.
Написал для нее событие, но она делает совсем не то. Помогите, пожалуйста,
иначе придется анализировать вручную, а это адский труд.
С уважением Сергей

Дата отправки: 09.06.2007, 11:42
Вопрос задал: Worsvch
Всего ответов: 4
Страница онлайн-консультации »


Консультирует Константин Павлов (5-й класс):

Здравствуйте, Worsvch!

Не нужно использовать ВБА. Используйте функцию ВПР:
1. Отсортируйте столбец А по возрастанию
2. в ячейке В3 пишете формулу: =ЕСЛИ(ВПР(C3;$A$2:$A$2000;1)=C3;"есть";"")
3. копируете формулу вниз до последней заполненной ячейки в столбце С (B1500).

Консультировал: Константин Павлов (5-й класс)
Дата отправки: 09.06.2007, 12:32
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Ualife:

Здравствуйте, Worsvch!
Смотрите приложение, там код макроса.
Если что-то не понятно то пишите на mailto:ua.life@mail.ru

Приложение:

Консультировал: Ualife
Дата отправки: 09.06.2007, 15:01
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Тесленко Евгений Алексеевич:

Здравствуйте, Worsvch!
Вариант ответа от Felix, самый подходящий для решения Вашей задачи не прибегая к VBA. Если же Вы решили "познакомиться с VBA", предлагаю маленький кусочек кода с помощью которого так же можно решить Вашу задачу.
Удачи.
Евгений.

Приложение:

Консультировал: Тесленко Евгений Алексеевич
Дата отправки: 09.06.2007, 21:38
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Залетин Виталий Викторович (мь:

Здравствуйте, Worsvch!
Sub Sravn()
Dim lA As Long
Dim sh As Object, stat As String

Set sh = Excel.Sheets(1)
sh.Activate

stat = Application.StatusBar
Application.StatusBar = "Подождите, пожалуйста..."
DoEvents

Application.ScreenUpdating = False \'Это для того, чтобы экран до окончания не перерисовывался - так мы экономим некоторое кол-во времени

For lA = 3 To 15000 \'У Вас 15000
If Cells(lA, 1) = Cells(lA, 3) Then \'Смотрим, если А??=С??, то...
Cells(lA, 2) = "--- Есть ---" \'...в В?? пишем слово "--- есть ---"
End If
Next lA

Application.StatusBar = stat
Application.ScreenUpdating = True \'Обновляем экран
Set sh = Nothing
End Sub

Может еще как-то оптимизируете по скорости, но, по-моему, 1,5 секунды удовлетворительный результат (у меня на машине все отрабатывает за 1316 мс.)

Консультировал: Залетин Виталий Викторович (мь
Дата отправки: 10.06.2007, 14:48
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 23691:

Доброго времени суток, Уважаемые Эксперты!!!!
Такой вопрос:
На форме есть объет Picture, так вот как зная путь к файлу-картинки загрузить ее в этот объект.
Среда разработки VB 6.00
Спасибо.

Дата отправки: 18.07.2005, 22:13
Вопрос задал: Korolyov Alexandr
Всего ответов: 3
Страница онлайн-консультации »


Консультирует PsySex (Профессионал):

Здравствуйте, Korolyov Alexandr!

Picture1.Picture = LoadPicture("c:\pics\mypic.jpg")

Думаю на вопрос № 23693 отвечать нет смысла ;-)

Консультировал: PsySex (Профессионал)
Дата отправки: 18.07.2005, 22:32
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Евгений Неверов (Практикант):

Здравствуйте, Korolyov Alexandr!
Используйте следующую конструкцию:

Приложение:

Консультировал: Евгений Неверов (Практикант)
Дата отправки: 19.07.2005, 01:17
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует *Kot*:

Здравствуйте, Korolyov Alexandr!
Да очень просто!
Для этого просто грузим картинку функцией LoadPicture:

Picture1.Picture = LoadPicture("C:\name.bmp")

Консультировал: *Kot*
Дата отправки: 21.07.2005, 09:27
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка  |  восстановить логин/пароль

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!



В избранное