Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.09.2011, 11:07   #11
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Код:
Sub tt()
Dim x As Range
Set x = Columns(1).Find("Строительные материалы, изделия и конструкции", , xlValues, xlWhole)
If Not x Is Nothing Then Range([a1], x.Offset(-1)).EntireRow.Delete
End Sub
удаляет всё, что выше "Строительные материалы, изделия и конструкции", поиск в первом столбце.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 13.09.2011, 14:24   #12
Severny
Форумчанин
 
Регистрация: 07.10.2010
Сообщений: 144
По умолчанию

Код:
Private Sub TextBox5_Change()
Dim Cena As Range
Dim iCena As Range
Set Cena = Columns(11).Find("Ціна за од., грн. з ПДВ", , xlValues, xlWhole)
If Not x Is Nothing Then iCena = Cena.Offset(1, 0).Value
TextBox6.Text = Format(Val(TextBox5.Text) * Val(iCena), "# ### ##0.00")
End Sub
Не работает
Columns(11) Ищется только в 11-м столбце листа?
Severny вне форума Ответить с цитированием
Старый 13.09.2011, 14:28   #13
Severny
Форумчанин
 
Регистрация: 07.10.2010
Сообщений: 144
По умолчанию

Казанский Не могли бы Вы прикрепить простой рабочий примерчик. Пошел во Вашему пути и тоже не работает
Severny вне форума Ответить с цитированием
Старый 13.09.2011, 14:32   #14
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Всё напутали. Внимательнее - поиском находите ячейку (диапазон), далее берёте в переменную значение ячейки по сдвигу.
У Вас там всё иначе, нужно всё править...
Сами сделаете?

Что-то вроде, но есть непонятные моменты:

Код:
Private Sub TextBox5_Change()
Dim Cena As Range
Dim iCena ' As что?
Set Cena = Columns(11).Find("Ціна за од., грн. з ПДВ", , xlValues, xlWhole)
If Not Cena Is Nothing Then
iCena = Cena.Offset(1, 0).Value
TextBox6.Text = Format(Val(TextBox5.Text) * Val(iCena), "# ### ##0.00")
End If
End Sub
И да, тут ищется по 11-му столбцу.
Если нужно иначе - задайте другой диапазон, хоть весь лист.
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 13.09.2011 в 14:43.
Hugo121 вне форума Ответить с цитированием
Старый 13.09.2011, 14:49   #15
Severny
Форумчанин
 
Регистрация: 07.10.2010
Сообщений: 144
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Что-то вроде, но есть непонятные моменты.
Если нужно иначе - задайте другой диапазон, хоть весь лист.
Какие именно непонятные моменты?
Место Colums что писать когда весь лист?
Severny вне форума Ответить с цитированием
Старый 13.09.2011, 14:54   #16
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

> Не могли бы Вы прикрепить простой рабочий примерчик

Оба варианта
Вложения
Тип файла: rar aaa.rar (41.2 Кб, 13 просмотров)
exceleved@yandex.ru Яндекс.Деньги: 410011500007619

Последний раз редактировалось Казанский; 13.09.2011 в 14:59.
Казанский вне форума Ответить с цитированием
Старый 13.09.2011, 15:00   #17
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Непонятно, что из себя представляет iCena = Cena.Offset(1, 0).Value

Ну и если искать по всему листу:
Sheets(1).UsedRange.Find
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 13.09.2011, 15:18   #18
Severny
Форумчанин
 
Регистрация: 07.10.2010
Сообщений: 144
По умолчанию

Цитата:
Непонятно, что из себя представляет iCena = Cena.Offset(1, 0).Value
Присваивает переменной iCena значение ячейки ниже той которую мы нашли.

Цитата:
Ну и если искать по всему листу:
Sheets(1).UsedRange.Find
Может лучше ActiveSheet.UsedRange.Find, что бы не конкретизировать в коде формы какой лист мы используем?
Severny вне форума Ответить с цитированием
Старый 13.09.2011, 15:38   #19
Severny
Форумчанин
 
Регистрация: 07.10.2010
Сообщений: 144
По умолчанию

Казанский
Код Формы:
Код:
Private Sub TextBox5_Change()
TextBox6.Text = Format(Val(TextBox5.Text) * Val(Cena), "# ### ##0.00")
End Sub
Код на Листе1
Код:
Public Sub Cena()
Cena = [K10]
End Sub
Код модуля
Код:
Public Cena
Форма вызывается с процедуры которая вызывается с модуля класса.
Что не хватает этому коду, кроме толкового программера?
Severny вне форума Ответить с цитированием
Старый 13.09.2011, 15:48   #20
Severny
Форумчанин
 
Регистрация: 07.10.2010
Сообщений: 144
По умолчанию

Цитата:
Сообщение от Severny Посмотреть сообщение
Присваивает переменной iCena значение ячейки ниже той которую мы нашли.
Судя по всему этого как раз и не происходит

Работает:
Код:
Private Sub TextBox5_Change()
Dim Cena As Range
Dim iCena  As Long
Set Cena = Columns(11).Find("Ціна за од., грн. з ПДВ", , xlValues, xlWhole)
If Not Cena Is Nothing Then
iCena = Cena.Offset(1, 0).Value
TextBox6.Text = Format(Val(TextBox5.Text) * Val(iCena), "# ### ##0.00")
End If
End Sub
Тип переменной iCena не правильно задавал

Последний раз редактировалось Severny; 13.09.2011 в 15:51.
Severny вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как создать форму в ручную и освободить из памяти предыдущую форму, на С++Builder 2009? AndreyK Общие вопросы C/C++ 1 18.01.2012 20:54
Переменная в C# bead C# (си шарп) 8 01.05.2011 12:32
Одну и ту же форму использовать как MDI-child форму и как модальную форму? PrimaryPro Общие вопросы Delphi 2 10.03.2010 20:52
c# ссылочная переменная hizahazahub Общие вопросы .NET 1 16.04.2009 20:53
Как изменить стандартную форму на форму любой сложности QwErEn Общие вопросы Delphi 9 08.06.2007 11:44