2014-10-29 4 views
1

Я программирую немного и легко добавляю клиентский код. Но когда я добавляю клиента, он дает мне эту небольшую ошибку, где я не могу избавиться. Возможно, это будет легкое решение. Вот мой код:Excel VBA Текст на номер

Private Sub btn_Toevoegen_Click() 
    Dim laatsteKlantNummer As Integer 

Range("B4:B13").End(xlDown).Select 
laatsteKlantNummer = ActiveCell.Value 
ActiveCell.Offset(1, 0).Value = txtKlant 
ActiveCell.Offset(1, 1).Value = txtNaam 
ActiveCell.Offset(1, 2).Value = txtAdres 
ActiveCell.Offset(1, 3).Value = txtWoonplaats 
ActiveCell.Offset(1, 4).Value = txtContact 
Me.Hide 
Range("B4:B13").Sort Key1:=Range("B4:B13"), Order1:=xlAscending 
End Sub 

Этот код работает правильно, но дело происходит, когда он помещает его в листе первенствовать она помещена в виде текста, а не число. Поэтому он дает мне ошибку: «Номер хранится как текст». После этого я могу щелкнуть преобразование в число. Например :(http://i.imgur.com/mfMnGFI.png) Но можно ли его закодировать, а не нажимать на него все время?

+0

какая строка дает ошибку? Это возможно;) –

+0

Если значения * txt * поступают из формы или чего-то подобного, заставьте их числовое значение с помощью 'CLng (txtAdres)' или 'CDbl (txtAdres)' или 'CDate (txtAdres)'. Тот, который вы используете, будет зависеть от типа значения, которое вы хотите поместить в ячейку. – Jeeped

+0

@Jeeped Спасибо, это была моя проблема! Не могли бы вы повторить ответ в ответ, чтобы я мог закрыть его и дать вам большой запас! –

ответ

2

Я не уверен, на какой линии вы получите эту ошибку, но, к примеру, если это его одна:

ActiveCell.Offset(1, 4).Value = txtContact 

Вы можете добавить это «новообращенного» его в номер:

ActiveCell.Offset(1, 4).Value = txtContact + 0 
+0

Спасибо, я тоже ответ на мой вопрос! –

+0

для вашей проблемы это лучший ответ, а для vba - самый быстрый код для запуска. Ответ @Jeepeds также является правильным способом, но это целесообразно, если вам нужно преобразовать его, например, в дату, для нормального целого, это путь. –

+0

На самом деле, что Jeeped прокомментировал, лучше, в зависимости от того, что это целое число. Clng (txtContact) будет преобразовывать в длинный, а CDbl (Textcontact) будет преобразовывать в двойное (с десятичными числами) .... –

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