#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. извините, но я вас не понимаю. лучше всего дополнить свой пост наглядным примером сценария «до» и «после», а также подробными сведениями о том, где должны быть получены и / или записаны все соответствующие данные