Добавить текст с датой в таблицу Excel

#excel #vba

#excel #vba

Вопрос:

Я пытаюсь добавить текстовое поле с датой на листе Excel. У меня такой текстовый формат.

23.9/99 10:37 Мы не собираемся. Я отключен. Колумбус — не процветающее место. В основном это отставные военные. Она позвонила, чтобы спросить, почему она единственная. Хотел, чтобы ее партнер тоже включился. Я объяснил, что это происходит на собрании. 9/10/99 4: 15p Рик Людвиг направил 995 долларов США Хочет Essex Funding amp; Associates Inc. WY 4262-3607-0011-9582 8/01 23.08.99 9:08 Хочет корпорацию NV. Нужно немного изменить финансы. Пара программ. МУ и наставники. Партеры и я…Мне 60. Вчера я увеличил свои карты.

Итак, я хочу добавить некоторые данные, когда мое поле даты появится на картинке

например

«HTML-тег абзаца»23/99 9/99 10:37 Мы не собираемся. Я отключен. Колумбус — не процветающее место. В основном это отставные военные. Она позвонила, чтобы спросить, почему она единственная. Хотел, чтобы ее партнер тоже включился. Я объяснил, что это происходит на собрании. «Конец тега абзаца HTML» «Тег абзаца HTML» 9/10/99 Не нужно беспокоиться

Спасибо за вашу помощь!!!

Комментарии:

1. Использовать символ amp;? Формула: =A1amp;Today() . Или просто сделайте почти то же самое в VBA : activecell.value=activecell.value amp; date() . Я не понимаю, в чем здесь ваш вопрос.

2. вы имеете в виду, что разделение не добавляется?

Ответ №1:

отредактировано после разъяснений OP

попробуйте это

 Option Explicit

Sub main()
    Dim newStrng As String
    Dim word As Variant
    Dim strngToBeAppended As String

    strngToBeAppended = Application.InputBox("Input string to be appended", 1)

    With Worksheets("TextSheet") '<-- change "TextSheet" to your actual sheet with text name
        For Each word In Split(.Range("A1").Text, " ") '<-- assuming that the text to be splitted is in cell "A1" of the referenced worksheet
            If Len(word) - Len(Replace(word, "/", "")) = 2 Then
                newStrng = newStrng amp; " " amp; strngToBeAppended amp; word
            Else
                newStrng = newStrng amp; " " amp; word
            End If
        Next word
        .Range("A2").Value = LTrim(newStrng)
    End With
End Sub
  

как вы видите:

  • «текст, который нужно добавить» запрашивается у пользователя с помощью Application.InputBox() вызова

  • «текст для добавления» предполагается в ячейке «A1» листа «TextSheet»

  • «выходной» текст записывается в ячейку «A2» рабочего листа «TextSheet»

вы можете изменить все эти ссылки в соответствии с вашими реальными потребностями

Комментарии:

1. слишком расплывчатое предложение. предоставьте подробную информацию о: исходных данных, что не работает и как не работает.

2. У меня есть требование, например, я хочу добавить текст перед моей датой, например «23/99 9/99 10:37 утра, мы не собираемся» перед датой, например 23/99 9, я хочу добавить текст

3. итак, вы хотите: 1) определить / ввести «дату» (например, «23/9/99») 2) выполнить поиск «текста» для этой «даты» 3) ввести «какой-то другой текст» 4) вставить этот «какой-то другой текст» перед «датой» в «текст». Должно ли это быть так: а) откуда «дата» для чтения? б) откуда «текст» для чтения? c) где находится «какой-то другой текст» для чтения?

4. Да, я хочу 1. Выполнить поиск даты в тексте 2. Я хочу вставить текст, который будет <p> и </p> перед текстом. a. Дата, которую нужно прочитать из текста. b. текст находится в столбце. c) Другие данные будут жестко закодированы.

5. извините, но я вас не понимаю. лучше всего дополнить свой пост наглядным примером сценария «до» и «после», а также подробными сведениями о том, где должны быть получены и / или записаны все соответствующие данные