2014-10-09 7 views
0

У меня в настоящее время возникают проблемы с VBA с поиском второго последнего значения в строке.VBA Найти значение от второй до последней строки

В настоящее время я могу найти последнее значение в строке с End (xlToLeft) .Value, но как мне найти значение перед этим?

Я бы использовал функцию смещения, но есть пробелы, и рабочий лист динамический, поэтому я не могу использовать функцию смещения. как я могу это сделать?

ответ

0

Почему Никак вы создаете переменную для последнего столбца, то просто установите значение себе -2

например затемнить Lastcolumn как целое Lastcolumn = ActiveSheet.Cells.SpecialCells (xlLastCell) .Column Lastcolumn = Lastcolumn - 2

+0

Будет ли это работать, если пространства являются динамичными? Между каждым значением не существует ровно 2 пробела. –

+0

Нет, это будет сложно скопировать значение в Lastcolumn. Возможно, для каждого оператора можно использовать для проверки следующей ячейки в строке, которая имеет значение. – Gazza

+0

Мне нужно было бы быть динамичным. Не каждое значение находится в 2-х местах друг от друга. Некоторые из них - 3, некоторые из них - 4. –

0

не уверен в точном синтаксисе, но что-то вроде следующего

for each cell in cells 
    if cell is notnothing then 
     ' add your code here to use the value 
    end if 
next 
+0

Но мне нужны только последние два значения. Зачем мне нужно перебирать всю строку? –

+0

добавьте выход в конце вашего блока if, чтобы выйти из цикла, когда значение найдено – Gazza