2015-09-14 6 views
1

Я использую следующий код с календарем в финансовой таблице в столбце A, чтобы избежать случайного ввода данных в столбцах, отличных от A. Я теперь изменил лист, чтобы включить даты в столбце «O «поэтому я хотел бы, чтобы он включил в код столбцы« A и O ». Это возможно?Календарь Код VBA только для выборочных ячеек

Private Sub Calendar1_Click() 
Columnchk = Mid(ActiveCell.Address, 2, 1) 
' set value only if active column = A 
If Columnchk = "A" Then ActiveCell.Value = Me.Calendar1.Value 
End Sub 

ответ

1

Если я получил вопрос правильно, решение Or оператор:

Private Sub Calendar1_Click() 
Columnchk = Mid(ActiveCell.Address, 2, 1) 
' set value only if active column = A or O 
If Columnchk = "A" Or Columnchk = "O" Then ActiveCell.Value = Me.Calendar1.Value 
End Sub 
+0

Кроме того, я думаю, что получение активной колонки с помощью 'Mid (...)' не на самом деле хорошая идея. Я думаю, вы предпочли бы вместо этого использовать 'Col = ActiveCell.Column' (но он возвращает целочисленное значение, поэтому вам нужно будет изменить ваш оператор' If' на что-то вроде 'If Col = 1 или Col = 15 Then ...'). – aokozlov

+0

Perfect .. спасибо – camioneur

+0

@camioneur, если это вам помогло, отметьте его как ответ (и, возможно, проголосуйте за него). Спасибо. – aokozlov

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