2015-05-26 2 views
0

Я пытаюсь работать со строкой (копируется в ячейку из .txt), как показано ниже:Excel VBA: работа строка не работает

"         ======== ============= ======== ===================== ================== ================================================================= ================================================== ============= ==================" 

в основном, это комбо равных знаков и пространств, но мне нужно чтобы сделать несколько вещей с ним позже. Это то, что я сделал:

targetstring3 = Range("A7").Value 
Range("B8").Value = Mid(targetstring3, 57, 2) 

И он вернулся

"приложение/объект определенные ошибки"

Я попытался это ниже, и она по-прежнему не работает:

targetstring3 = Cstr(Range("A7").Value) 
Range("B8").Value = Mid(targetstring3, 57, 2) 

Любая помощь приветствуется!

+0

Какую линию и вызов функции ТОЧНО бросить исключение? Первый или второй? Посмотрите, какой код подсвечивается при возникновении ошибки. –

+0

попробуйте использовать переменную (скажем, 'temp'), чтобы сохранить значение' Mid (targetstring3, 57, 2) 'перед тем, как присвоить его' B8'. Мне кажется, что я столкнулся с подобными проблемами, выполняя некоторые из моих более ранних макросов, и это помогло. Не сказать, что это должно быть постоянное исправление, но если он запустит ваш код, ожидая лучшего ответа, это по крайней мере полезно. – USFBS

+0

Ошибка сама по себе не выделяла никакой строки (обычно ошибка была бы ошибкой «400», но я добавил код обработки ошибок, который позволил ему показать мне «приложение ... объектно-зависимая ошибка ...»). Но я удалил строку Range («B8»). Value = Mid (targetstring3, 57, 2), и она отлично работала с тем же самым средним выражением на других строках, и поэтому я думал, что строка была ошибкой –

ответ

0

Очевидно, что вы получите сообщение об ошибке. Помните, что формулы Excel начинаются с знака =. И, следовательно, вы получаете сообщение об ошибке.

Изменить код

Range("B8").Value = "'" & Mid(targetstring3, 57, 2) 

или

Range("B8").Value = Chr(34) & Mid(targetstring3, 57, 2) & Chr(34) 

Edit

Followup от комментариев

Я попробовал этот

Sub Sample() 
    targetstring3 = Range("A1").Value 
    Range("B8").Value = Chr(34) & Mid(targetstring3, 57, 2) & Chr(34) 
    Range("B9").Value = "'" & Mid(targetstring3, 57, 2) 
End Sub 

Выход

enter image description here

+0

Я изменил его на john = "'" & Mid (targetstring3, 57, 2) , и он дал ту же ошибку - что происходит? –

+0

Не могли бы вы попробовать свой код с некоторым значением, отличным от всех равных знаков? –

+0

Вышеупомянутый код проверен и проверен :) Какие значения вы хотите, чтобы я попытался? –

Смежные вопросы