Неверное текстовое поле в форме VBA

Я делаю форму, и я нахожусь с странной проблемой с TextBox.

Я прошу пользователя вставить некоторые данные, и когда это произойдет, TextBox изменит данные.

Например, если пользователь вставляет: 03/01 / 2013, а затем запускает форму, форма вместо этого выполняет код с исходными данными, это изменяет его, 01/03 / 2013.

Я понял, что всегда меняет день и месяц, но никогда не год.

Дополнительная информация, я никогда не «рассказывал», что данные, которые она собирает обрабатывать, – это дата.

Я изо всех сил стараюсь, чтобы он работал, поэтому любая помощь будет благодарна.

Если вам нужна дополнительная информация, сообщите мне об этом.

Код:

Private Sub CommandButton1_Click() ThisWorkbook.Sheets("Hidden").Range("D1").Value = TextBox1.Value ThisWorkbook.Sheets("Hidden").Range("D2").Value = TextBox2.Value If TextBox1.Value < TextBox2.Value Then If TextBox1.Value = "" Or TextBox2.Value = "" Then MsgBox "...", vbExclamation, " ..." Else Run "macro" ThisWorkbook.Sheets("SUMUP").Range("D11").Value = TextBox1.Value ThisWorkbook.Sheets("SUMUP").Range("D12").Value = TextBox2.Value End If Else MsgBox "..." & vbCrLf & "...", vbExclamation, " ..." End If End Sub 

Благодарю.

Вы должны изменить формат даты вашей системы, чтобы принять формат ввода вашей формы vba. Идти к

Пуск> Панель управления> Часы

Язык и дата, в разделе «Регион и язык» выберите «Изменить дату, время или номер». В формате даты и времени выберите раскрывающийся список перед короткой датой, затем выберите dd-mmm-yy . Сделайте это на длительное время и выберите dddd,mmmm dd,yyyy . Я надеюсь, что это будет полезно

Это VBA:]. Просто конвертируйте в строку:

 ThisWorkbook.Sheets("SUMUP").Range("D11") = Format(TextBox1.Value, "dd/MM/yyyy") 

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

Предоставьте дополнительную информацию о том, как хранится пользовательский ввод. Какую переменную типа данных вы используете для хранения входных данных пользователей? Каков процесс миграции для ввода?

Post-Edit:

Отформатируйте свои ячейки (простейшее решение)

 Range = Format(TextBox1.Value, "dd/mm/yyyy") 

PS Вы можете хранить своих пользователей в переменных:

  Dim txtb1, txtb2 As String 'ThisWorkbook.Sheets("Hidden").Range("D1").Value = TextBox1.Value 'ThisWorkbook.Sheets("Hidden").Range("D2").Value = TextBox2.Value ' ' instead of storing the value in cell, use variables ( now youre not going to need a "hidden" sheet ' txtb1 = TextBox1.Value txtb2 = TextBox2.Value 

Надеюсь это поможет.

  • Excel VBA; UserForm, запуск одного фрагмента кода для разных значений TextBox
  • Очистка строки, при выборе элемента в текстовом поле, из текстового поля и исходного листа
  • Excel VBA Userform Textbox - выделение изменений, сделанных в разных цветах шрифта
  • Присоединение текстового поля к точке или строке на диаграмме в Excel / VBA
  • Добавление переменного количества символов в строку, основанная на текущей длине строки
  • Очистка текстового поля при нажатии кнопки VBA
  • Создание текстового поля для запуска формулы VBA
  • Использование пользовательской формы VBA в Excel 2011 на Mac (запрограммировано в Windows): текстовое поле не работает
  • Как использовать данные, введенные в пользовательскую форму в основном модуле
  • Как изменить цвет фона текстового поля с помощью кнопки
  • Автоматическое создание текстовых полей на основе количества строк
  • Interesting Posts

    Формула Excel, чтобы сделать то же самое, что и x = (b / N) * (- пол (N / 2): пол (N / 2)) в MATLAB

    Excel VbA Дата и время Выкл. (Мультициклирование)

    Как сделать мой код VBA ничего не делать И перейти к следующему шагу / VBA Ошибка времени выполнения 91

    Прочитайте файл excel с именем юникода, используя openpyxl Python

    Найти значение n-й строки в Excel

    Развертывание проекта VBA, использующего объекты ADO

    Perl Excel :: Writer :: XLSX – задает формат столбца / слияние ячеек динамически

    Пусть одна ячейка представляет диапазон ячеек

    Как получить доступ к свойствам Outlook GAL для каждой записи

    Попытка найти определенную строку с именем в этой строке в vba excel

    Почему происходит сбой Excel при попытке обновить соединение с сводной таблицей?

    Уложите несколько столбцов в два столбца парами из двух

    Вставка массива в Excel

    Макросъемка, когда пользователь перестает прокручивать (обновлять экран, чтобы предотвратить визуальные ошибки, связанные с фигурами)

    Исключение нескольких утверждений Elseif

    Давайте будем гением компьютера.