2015-01-26 3 views
1

Мне нужно сравнить «поле»Сравнить каждую строку в файле

например. mid(stringX, 10, 20)

каждой строки с каждой другой строкой в ​​файле. Если совпадение найдено, я хочу суммировать некоторые числа, но это не является частью проблемы.

Моя проблема в том, что я не знаю, как сделать петлю или еще что-то, что сравнивает каждую строку со всеми другими и делает определенную операцию в матче ...

Я думал, что-то делать например:

A=x 
B=y 

While (A != *Value of last line*) { 
       While (B < *value of last line*) { 
       compare a and b 
       B++; } 
A++ 
B=A+1; } 

Но я не знаю, как реализовать что-то подобное в vbscript.

Может кто-то, пожалуйста, помогите мне?

Благодаря

+0

SO не является кодовым письмом. Сначала изучите VBScript, затем вернитесь, когда у вас есть * конкретный вопрос о том, что вы пытались, но не можете работать. –

+0

Представление бит жесткое. =) – Robert

ответ

2

Для сравнения каждого элемента в списке (например, линию) со всеми другими, вы сравнить каждый элемент «со всеми элементами ниже»

Блок кода в VBA может выглядеть так:

Sub CompFull() 
Dim X As Integer, Y As Integer 
Dim MyRange As Range 

Set MyRange = Selection 

X = 1 

Do While MyRange(X, 1) <> ""  ' outer loop from start to end 
    Y = X + 1 
    Do While MyRange(Y, 1) <> "" ' inner loop from one below current to end 
     If MyRange(X, 1) = MyRange(Y, 1) Then 
      MsgBox "Row " & X & " matches row " & Y, vbOKOnly, "Match found" 
     End If 
     Y = Y + 1 
    Loop       ' end of inner loop 

    X = X + 1 
Loop        ' end of outer loop 
End Sub 
+0

Танк вам очень понравился! – Phil

+0

@Phil приветствуем ... и прекрасно проводим время и делитесь информацией о StackOverflow – MikeD

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