2015-02-06 13 views
0

У меня есть два столбца от A1 до B10 в Sheet1. каждая из ячеек в этих столбцах имеют строки «а» или «б» или «C»Excel VBA конвертирует значения диапазона ячеек

 A B 
1 a a 
2 a b 
3 b c 
4 b b 
5 a a 
6 c b 
7 a a 
8 a c 
9 b a 
10 a b 

Я хочу, чтобы преобразовать каждую ячейку, которая имеет значение «а» до целого числа «12», «б» в целое число «14» и «c» в целое число «16» с использованием VBA. и показать результаты в Sheet2 в соответствующих ячейках.

 A B 
1 12 12 
2 12 14 
3 14 16 
4 14 14 
5 12 12 
6 16 14 
7 12 12 
8 12 16 
9 14 12 
10 12 14 

У меня есть это очень неполные коды:

Sub getConvert() 

For Each original In Range("A1 , B10") 
Select Case original 
    Case "a" 
    CorrectedText = Replace(original, "a", "12") 
    Case "b" 
    CorrectedText = Replace(original, "b", "14") 
    Case Else 
    CorrectedText = Replace(original, "c", "16") 
End Select 
Next 
End Sub 
+0

Что вы получаете? или Что не работает? Я подозреваю, что вы должны использовать 'Select Case original.value' или' original.textValue' (поскольку «original» - это объект диапазона, а не текст. – Tensibai

+0

и я не знаю, как вставить результат в другой лист в соответствующие ячейки? – javad

+0

Prepend оригинал с 'sheet (2)' должно быть достаточно. Но вам, возможно, придется использовать 'sheets (2). Original.range.value =' (непроверенный и неуверенный из памяти) – Tensibai

ответ

0

Вы должны получить доступ к каждой ячейке, прочитать его значение, а затем перезаписать в цикле:

Dim original As Range, destination As Worksheet 

Set destination = Sheets("Sheet2") 

For Each original In Range("A1:B10") 
    Select Case original.Value 
     Case "a": destination.Range(original.Address).Value = "12" 
     Case "b": destination.Range(original.Address).Value = "14" 
     Case "c": destination.Range(original.Address).Value = "16" 
    End Select 
Next 
+0

и я не знаю, как вставить результат в другой лист в соответствующих ячейках? – javad

+0

Простите, я пропустил это, обновил –

+0

Большое спасибо. – javad

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