Как зеркально отразить столбцы на разных листах с одним листом, имеющим дополнительный текст перед - PullRequest
0 голосов
/ 03 апреля 2019

У меня есть один лист (Sheet1), для которого перед значением стоит идентификатор.У меня есть другой лист (Sheet2), который я хочу показать без идентификатора.Я бы хотел, чтобы столбцы зеркально отображали друг друга, а в Sheet1 указывался идентификатор, а в Sheet2 - нет.

В настоящее время у меня есть проверка данных для Sheet2, которая допускает множественные значения, разделенные знаком «|».Эти значения отражаются в Sheet1, но идентификатор не добавляется.Я не уверен, в какой момент я должен добавить идентификатор.Я попытался добавить / удалить идентификатор в подпрограммах зеркального отображения, но я продолжаю получать ошибки.Я не слишком хорош в отладке.

Проблема с использованием формул заключается в том, что мне нужно иметь возможность редактировать один лист с изменением, отображаемым на другом.

Sub Sheet2_to_Sheet1(ByVal Target As Range, rng As String, rngTo As String)

Dim r1 As Range, r2 As Range
Dim iden As String
iden = "Vehicle"
Set r1 = Range(rng)
Set r2 = Sheets("Sheet1").Range(rngTo)
If Intersect(Target, r1) Is Nothing Then Exit Sub
Application.EnableEvents = False
    r2.value = r1.value
Application.EnableEvents = True

End Sub


Sub Sheet1_to_Sheet2(ByVal Target As Range, rng As String, rngTo As String, Optional identifier As String)

Dim r1 As Range, r2 As Range
Set r1 = Range(rng)
Set r2 = Sheets("Sheet2").Range(rngTo)
If Intersect(Target, r1) Is Nothing Then Exit Sub
Application.EnableEvents = False
    r2.value = r1.value
Application.EnableEvents = True


End Sub

Мне бы хотелось иметь, например:

Лист1, строка 1, столбец A = Vehicle.Silverado

Лист2, строка 1, столбец A = Silverado

или

Sheet1, строка 1, столбец A =Vehicle.Silverado | Vehicle.Camaro

Лист 2, строка 1, столбец A = Silverado | Camaro

Ответы [ 2 ]

1 голос
/ 03 апреля 2019

Я только что сделал это на том же листе для демонстрационных целей, но, может быть, формула ЗАМЕНА поможет вам?

enter image description here

Предполагается, что вы всегда хотите заменить текст Vehicle., но, возможно, это работает для вас?

1 голос
/ 03 апреля 2019

вы можете достичь этого без макроса.На Листе 2 примените формулу, соответствующую ячейкам Листа.

=MID(Sheet1!A1,FIND(".",Sheet1!A1)+1,LEN(Sheet1!A1)-1)

Я взял первый пример (Vehicle.Silverado -> Silverado)

Просто скопируйте формулы во весь диапазон, как требуется.

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...