Hi Paul,

I like your example and the use of weights and then picking the city with the highest total score.

I think that I have to modify how I create my dataset.

 
'Cityname1 & Cityname2
wkarr(i, 1) = City1 & " " & City2
        
'Score1
wkarr(i, 2) = sht.Range("I65").Value2
 
'Score2
wkarr(i, 3) = sht.Range("J65").Value2

'Score1 
wkarr(i, 4) = sht.Range("S65").Value2
    
'Score2
wkarr(i, 5) = sht.Range("T65").Value2


With Sheets("Rawdata")

R = Cells(Rows.Count, 1).End(xlUp).Row + 1
.Cells(R, 1).Resize(UBound(wkarr, 1), UBound(wkarr, 2)) = wkarr

End With
Should I be moving in the other direction?

'Cityname1 & Cityname2
wkarr(1, i) = City1 & " " & City2

'Score1
wkarr(2, i) = sht.Range("I65").Value2