Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 След.
Поиск номера столбца в определенном диапазоне справа налево, не учитывать формулы в ячейках
 
Юрий М, соглашаюсь с Вами, в следующий раз буду подробнее писать при обращении за помощью.
Всё таки кто помогает, тот и прав))
Ещё раз огромное спасибо за помощь!
Код взял от SAS888,
Код
MsgBox [A1:AF1].Find("*", [A1], xlValues, , , xlPrevious).Column
Поиск номера столбца в определенном диапазоне справа налево, не учитывать формулы в ячейках
 
Цитата
Ігор Гончаренко:
Sub Column0()
Set rec = Worksheets("Rec")
Dim LastColumn As Integer
LastColumn = rec.Range("AF1").End(xlToLeft).Column
MsgBox LastColumn
End Sub
С этим кодом - неважно есть что-нибудь в G1 или нет, всегда показывает 30, т.е. ссылается на ячейку без текста/цифр, но с формулой - этот код не годиться.  
Изменено: Maxim39 - 29.08.2016 17:12:01
Поиск номера столбца в определенном диапазоне справа налево, не учитывать формулы в ячейках
 
Цитата
Ігор Гончаренко написал: что увидели в окне сообщения? (30?) Вам это нужно было?
Да, это то что нужно - этот код годиться.

Цитата
Ігор Гончаренко написал: что написано? (25?)
что правильно 30 или 25, Column1 или Column2 ???
Показывает 25, а надо 30 (это если в G1 что-нибудь) - этот код не годиться.
Изменено: Maxim39 - 29.08.2016 16:56:29
Поиск номера столбца в определенном диапазоне справа налево, не учитывать формулы в ячейках
 
Цитата
SAS888 написал:
Если я правильно понял задачу, то требуется получить номер столбца последней заполненной ячейки в указанном диапазоне, не зависимо от того, каким образом это значение появляется в ячейке (вручную, формулой и т. п.). Т. е. если ячейка содержит формулу, но возвращает пустое значение, то такую ячейку не учитывать, а если значение есть, то учитывать.
Да, Вы всё верно поняли.
Цитата
Юрий М написал:  А всё потому, что нет чёткой формулировки задачи.
Не согласен с Вами, и файл приложил с формулами в столбце и скриншот и что необходимо справа налево, а не наоборот и не учитывать формулы, а только значения текст/цифры.
В этот раз Вы ошибаетесь... старался максимально понятно и коротко, а с Ваших слов  - это "нечеткое формулировка задачи".
Поиск номера столбца в определенном диапазоне справа налево, не учитывать формулы в ячейках
 
SAS888, Ваш код с указанным диапазоном работает идеально и важно ещё, что он понятен для простого новичка (8
Ігор Гончаренко, Kuzmich, спасибо за коды!
Поиск номера столбца в определенном диапазоне справа налево, не учитывать формулы в ячейках
 
Так как надо определить в нужном диапазоне от AF1 до A1 поменял ячейку с А1 на AG1
Код
MsgBox Rows(1).Find("*", [AG1], xlValues, , , xlPrevious).Column
Спасибо всем за помощь!
Изменено: Maxim39 - 28.08.2016 20:11:39
Поиск номера столбца в определенном диапазоне справа налево, не учитывать формулы в ячейках
 
Ігор Гончаренко, SAS888, парни огромное спасибо!  :)
SAS888, это то что нужно, одной строчкой, коротко и понятно  :D
Поиск номера столбца в определенном диапазоне справа налево, не учитывать формулы в ячейках
 
Мне это нужно для динамически меняющегося диапазона. Значение столбца надо вставить в:
Код
rec.Range(rec.Cells(40, 1), rec.Cells(40, НОМЕР СТОЛБЦА)).Insert Shift:=xlDown

Цитата
Kuzmich написал: LastColumn можно не определять, а цикл сделать от 32 до 1
Не настолько хорошо знаю VBA)
Спасибо, буду дальше разбираться!  
Поиск номера столбца в определенном диапазоне справа налево, не учитывать формулы в ячейках
 
Kuzmich, огромное СПАСИБО! Всё работает! :)
Поиск номера столбца в определенном диапазоне справа налево, не учитывать формулы в ячейках
 
Добрый вечер!
Перерыл интернет, много тем с похожей тематикой, но у самого не получается решить проблему.
В диапазоне от AF1 до A1 надо найти номер столбца, где есть какое-то значение - текст/цифры, но пропускать формулы.
В сером столбце AD есть формулы. Код показывает 30 столбец, а надо 25 столбец.
Код
Sub Column()
Set rec = Worksheets("Rec")
Dim LastColumn As Integer
    LastColumn = rec.Range("AF1").End(xlToLeft).Column
    MsgBox LastColumn
End Sub

рисунок удален: превышение допустимого размера вложения [МОДЕРАТОР]
Как в макросе прописать вставку ссылки =Лист1!A4 на Лист3!B4, ... где =Лист1 всегда крайний левый
 
k61, ОГРОМНОЕ спасибо - отлично работает.  :)  
Сам бы не смог, спасибо!
Как в макросе прописать вставку ссылки =Лист1!A4 на Лист3!B4, ... где =Лист1 всегда крайний левый
 
Всем доброй ночи!
Столкнулся с проблемой, которую без Вашей помощи не решу.
Как прописать в макросе:
Код
Worksheets("Лист3").Range("B4").FormulaLocal = "=Лист1!A4" 'где Лист1 всегда крайний левый
p.s. именно нужно вставка ссылки на ячейку, вставка просто значения не подходит.
Изменено: Maxim39 - 16.12.2015 03:21:23
Проверка выполнения множества условий применительно к диапазонам данных, макрос очень долго работает с большим объемом данных
 
Предположение!
Если в оригинальном файле есть графики, то временно отключите их.
Примерно:
Код
Sub off_Charts() 'отключает графики на "Лист1"
    Sheets("Лист1").ChartObjects.Visible = False
End Sub

Код
Sub off_Charts() 'включает графики на "Лист1"
    Sheets("Лист1").ChartObjects.Visible = True
End Sub
Изменено: Maxim39 - 16.11.2015 05:14:49
Обнаружено содержимое которое не удается прочитать, помогите разобраться с ошибкой
 
Выложите проблемный файл.
Неоправданной большой размер(Мб) листа
 
Цитата
Keepsv написал: А как быть на клиентских ПК?
Скорее всего никак! ИМХО
Это безопасность, единственное что можно предложить в самой таблице, где это возможно написать жирным красным шрифтом:
"Если есть сообщение "Включить содержимое" уважаемый пользователь - НАЖМИ. Это нужно для работы таблицы!"  :)
Выбор данных (столбца) для построения графика, ...например, через функцию ЕСЛИ, столбец А или Б
 
Цитата
JayBhagavan написал: что-то Вы увлеклись ДВССЫЛ()
Спасибо за комментарии)
В таблице данные заполняются макросом с 41 строки.
Также есть макрос на удаление (НЕ очистка) этих данных, так вот после его выполнения вместо H41 появляется ошибка #ССЫЛКА.
Если очищать данные, то график ссылался на старый диапазон данных

ДВССЫЛ() нужна чтоб уйти от этой ошибки.
Остальные "обернул" в ДВССЫЛ() чтоб если случайно удалить ячейки или добавить новые, то в именных диапазонах не сдвинулись ссылки на ячейки... т.к. именных диапазонов 46 шт., то это самое оптимальное решение.
Цитата
JeyCi написал: сделала на динамических диапазонах вариант ещё такой
Спасибо за пример, возьму на заметку.
Единственное надо разобраться, почему после удаления строк заново график не строится.

В моём примере с ДВССЫЛ() данные можно удалять/очищать, внести заново данные и график всё подхватит.

Спасибо за комментарии!
Неоправданной большой размер(Мб) листа
 
Keepsv, попробуйте с настройками безопасности поиграться:
Если Excel 2010 то
ФАЙЛ - Параметры - Центр управления безопасностью
Изменено: Maxim39 - 15.11.2015 02:19:59
Выбор данных (столбца) для построения графика, ...например, через функцию ЕСЛИ, столбец А или Б
 

Может кому пригодится. Доделал свою хотелку.
В диспетчере имён создаём именные диапазоны:
1) Время:
Код
=ДВССЫЛ("C41"):ДВССЫЛ(ЯЧЕЙКА("содержимое";ДВССЫЛ("C40")))

2) Вертикальные данные:
Код
=ДВССЫЛ("K41"):ДВССЫЛ(ЯЧЕЙКА("содержимое";ДВССЫЛ("K40")))

3) Кривая: здесь через функцию ЕСЛИ выбираем два диапазона данных
Код
=ЕСЛИ(ДВССЫЛ("L16")=ЛОЖЬ;ДВССЫЛ("H41"):ДВССЫЛ(ЯЧЕЙКА("содержимое";ДВССЫЛ("H40")));ДВССЫЛ("i41"):ДВССЫЛ(ЯЧЕЙКА("содержимое";ДВССЫЛ("i40"))))
Выбор данных (столбца) для построения графика, ...например, через функцию ЕСЛИ, столбец А или Б
 
Vik_tor, изучил пример и на нём остановлюсь. Огромное спасибо, выручили!
Выбор данных (столбца) для построения графика, ...например, через функцию ЕСЛИ, столбец А или Б
 
justirus, спасибо, этот пример изучал... почитаю ещё раз.
Vik_tor, спасибо, сейчас изучу.
Выбор данных (столбца) для построения графика, ...например, через функцию ЕСЛИ, столбец А или Б
 
Файл пример.
Выбор данных (столбца) для построения графика, ...например, через функцию ЕСЛИ, столбец А или Б
 
Добрый день, участники форума!

Есть таблица, в ней график данные берёт из столбца H.
Как правильно задать условие вида ЕСЛИ L18=ЛОЖЬ, то H41:H170, если нет то I41:I170?
Если щёлкнуть по данным, то появляется строчка =РЯД("Кф";Recorder!$C$41:$C$165;Recorder!Back;1) вот в неё не получается вставить функцию ЕСЛИ или она там и не будет работать?

Помогите советом!
Изменено: Maxim39 - 11.11.2015 17:28:18
Значение ячейки в макросе, ... как указать?
 
Спасибо Юрий!  :)
Нашёл самое короткое решение,спасибо последнему сообщению с дружественного форума.
Цитата: "запись name1 = [a1] эквивалентна name1 = [a1].Value, т.к. Value - свойство по умолчанию"

Итого рабочий вариант и коротко и понятно:
Код
Sub test()
Back [J1], [A25], [E25], [Q25]
End Sub
Изменено: Maxim39 - 19.09.2015 05:02:20
Значение ячейки в макросе, ... как указать?
 
Код
Sub test()
Dim amount10 As String
amount10 = Range("Q25").Value 'или amount10 = Range("Q25").Select
Back "HILO_STANDARD", "Card 10 or further", "back_price", "amount10"
End Sub
Тоже не прокатывают
Значение ячейки в макросе, ... как указать?
 
Доброй ночи всем!
Ещё раз спасибо что помогли с этой темой Ошибка "argument not optional"

Подскажите, пожалуйста, как в макросе указать значение ячейки:
Сейчас так:
Код
Sub test()
Back "HILO_STANDARD", "Card 10 or further", "back_price", 1.23
End Sub
Грубо говоря надо так:
Код
Sub test()
Back "HILO_STANDARD", "Card 10 or further", "back_price", "Q25"
End Sub
Попробовал разные варианты, сейчас так, но не работает.. и ошибок не выдает(!)
Код
Sub test()
Dim amount10 As String
  amount10 = ("Q25")
  Range(amount10).Select
  Back "HILO_STANDARD", "Card 10 or further", "back_price", "amount10"
End Sub
Изменено: Maxim39 - 19.09.2015 04:58:41
Ошибка "argument not optional"
 
Sclif666, огромное СПАСИБО,только сейчас понял свою ошибку, сделал как Вы написали и всё заработало как надо! (см.скриншот)
Вы хорошие люди, что не ленитесь и помогаете таким новичкам как я!  :)
Ошибка "argument not optional"
 
The_Prist, спасибо Вам за помощь и потраченное время, заходил на Ваш сайт, понимаю что занимаетесь сложными проектами и обучение начинающих не в приоритете. Книги скачал, но многое не понятно... буду дальше изучать.

Sclif666, спасибо за хороший пример, что-то я ступил с несколькими End Sub, буду дальше пробовать.

Спасибо всем за подсказки, постараюсь разобраться! Если проблему решу - отпишусь здесь.  
Изменено: Maxim39 - 17.09.2015 15:47:27
Ошибка "argument not optional"
 
Файл приложил сразу в первом посте, только внимательно, перед этим другие рабочие книги закрыть и заодно отключить макросы, т.к. книга будет ссылаться на программу которая у Вас не запущена и будет выдавать ошибки!
Ошибка "argument not optional"
 
Цитата
Sclif666 написал: Уже говорилось, что Sub Back требует параметров.
Что значит требует параметров? Можно самый простой пример  
Ошибка "argument not optional"
 
Цитата
The_Prist написал: Target.Value = "BACK"
Спасибо, что помогаете!
Код
Private Sub Worksheet_Change(ByVal Target As Range)
   If Target.Address = "$O$7" Then Exit Sub
   If Target.Value = "B" Then Call Back 'теперь выделяется call Back
End Sub

Цитата
Юрий М написал: Поменяйте контрольное слово
Можно поменять кодовое слово на на анг B, ошибка не из-за этого...  
Изменено: Maxim39 - 17.09.2015 15:11:58
Страницы: 1 2 След.
Наверх