2016-08-19 4 views
0

Я пытаюсь скопировать некоторые 8-значные числа для использования в SQL-поиске.Проблема с управлением строкой Excel-VBA

SQL-запрос дал мне ошибки, и после некоторой отладки я обнаружил, что строка не содержит всех данных. Кажется, что после 25 или около того числа мой цикл for останавливает ввод данных, как будто строка заполнена.

Спасибо за помощь ...

Lots = "" 
For iRow = 2 To 500 
    If IsEmpty(Sheets("Filtered Data").Cells(iRow, 2)) Then Exit For 
    Lots = Lots & ",'" & Sheets("Filtered Data").Cells(iRow, 2).value & "'" 
Next iRow 

Lots = "(" & Mid(Lots, 2, Len(Lots) - 1) & ")" 

ответ

0

вы должны размещать ваши данные поднимая ошибку

за то время как вы можете рассмотреть следующий код для создания-вверх по строка использования Join() функция

Dim Lots As String 

With Worksheets("Filtered Data") '<--| change "Filtered Data" with your actual worksheet name 
    With .Range("B2", .Cells(.Rows.Count, 2).End(xlUp)) '<-- consider its column "B" cells from row 2 down to last non empty one 
     Lots = "('" & Join(Application.Transpose(.Value), "','") & "')" '<-- build up the string 
    End With 
End With 

это предполагает, что все не пустые ячейки в столбце «B» являются смежными (т.е. не пустые ячейки между непустых из них), но она может быть легко модифицирована если это не будет так

+0

Я попробовал код, но проблема все еще остается. Строка Lots только собирает первые 26 номеров и не объявляет финал "')". Извините, но я не могу загрузить весь код или данные, над которыми я работаю. –

+0

вы можете загрузить только первые 27 номеров, чтобы помочь людям, помогающим вам – user3598756

+0

Извините, я не могу загрузить свои данные (проблемы с IP-адресом). Но неважно, какие цифры есть, просто попробуйте на 27 8-значных числах. –

0

Ваш код прекрасно работает. Вероятно, у вас есть пустая ячейка в столбце, который делает его выход из цикла ....

+0

Можете добавить это как комментарий t Вопрос, а не как ответ? –

+0

, по-видимому, нет, если у вас нет репутации 50. –

+0

Данные не содержат пустых ячеек. Я использую тот же код здесь в другом макросе, и его работа там прекрасна, но в моем новом макросе кажется, что строка имеет ограничения. –

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