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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.09.2016, 17:00   #1
nihil_
Пользователь
 
Регистрация: 01.10.2012
Сообщений: 21
Сообщение Подскажите, в чем ошибка?

добрый день!
подскажите пожалуйста почему пишет ошибку Err "Type micmatch" в строке
Код:
Rows("Cstr(s):Cstr(s)").Select
?

Код:
Sub Test2()
      
Dim cell As Range
Dim s As Variant
With Worksheets("НЗамовлення").Range("B44:M200")
    Set C = .Find("Складові частини (мат-ли), які надані Замовником", LookAt:=xlPart)
    firstAddress = C.Address
    s = Range(firstAddress).Offset(3, 0).Row
    'MsgBox (s)
End With

Range("C44").Select
Do Until IsEmpty(ActiveCell)
    For Each cell In Selection
        If cell Like "*-*-*-*" Then
            ActiveCell.EntireRow.Cut
            Rows("Cstr(s):Cstr(s)").Select
            Selection.Insert
        End If
    Next
    
ActiveCell.Offset(1, 0).Select
Loop

End Sub
nihil_ вне форума Ответить с цитированием
Старый 21.09.2016, 17:11   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Rows(s & ":" & s).Select
потому что
Rows("напишите в кавычки названия хоть всех функций VBA CStr(s) Val(s) Cos(s) и пр.").Select
это будет всего лишь строка содержащая то, что вы в нее написали, а не строка, содержащая результаты выполнения этих функций
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 21.09.2016, 17:26   #3
nihil_
Пользователь
 
Регистрация: 01.10.2012
Сообщений: 21
По умолчанию

понял, Rows воспринимает все перем. как текст, а знак & задает значение перем. как параметр?
nihil_ вне форума Ответить с цитированием
Старый 21.09.2016, 17:32   #4
nihil_
Пользователь
 
Регистрация: 01.10.2012
Сообщений: 21
По умолчанию

Спасибо, работает!
nihil_ вне форума Ответить с цитированием
Старый 21.09.2016, 20:38   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Цитата:
Спасибо, работает!
пожалуйста
Цитата:
понял
показалось...
Цитата:
Rows воспринимает все перем. как текст
Rows(10) - это строка 10, и тут нет даже намека на текст!
Rows("5:15") - это диапазон с строки 5 по 15
Rows("Cstr(s):Cstr(s)") - это бред! мне понятно, что Вы хотели написать, но с точки зрения VBA - это бред!!! понимаете, человеческий мозг способен воспринимать не точно сформулированные намерения, компилятор VBA может воспринимать только четкие инструкции
и даже когда конструкция
Rows("Cstr(s):Cstr(s)")
не противоречит синтаксису языка, то в процессе выполнения выясняется, что это полный бред с точки зрения возможности выполнения данной команды.
VBA выполняет не то, о чем Вы думаете, а то, что Вы написалим!!! даже если Вы очень сильно о чем-то думаете, VBA выполнит, то что написано, а не предмет Ваших грез и мечтаний
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
в чем ошибка подскажите пожалуйста. allex19 Общие вопросы C/C++ 4 09.06.2016 06:20
Подскажите пожалуйста в чем ошибка Antony22 C# (си шарп) 7 20.01.2014 13:53
Подскажите, в чем ошибка? St@ter Помощь студентам 3 29.09.2013 15:02
Подскажите, в чем ошибка. V888 Общие вопросы C/C++ 1 19.12.2009 12:44
Подскажите, в чем ошибка? Cannibal Помощь студентам 1 23.11.2008 12:50