Проверьте весь столбец, чтобы увидеть, существует ли текст.Если это так, то документируйте это в другой ячейке - PullRequest
0 голосов
/ 11 апреля 2019

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

Я пробовал цикл и команды каждой ячейки, но я не уверен, какие еще команды попробовать.

Для всего столбца, показанного ниже, если появляется AH, DF, я хочу написать «Бумажную копию проблемы конструирования AutoCAD» в диапазоне B10 и «Цифровые файлы» в B11.Если появляется только «DF, P», я хочу написать «Цифровые файлы» в диапазоне B10 и «Печать в B11».Однако, если все три из них появятся (как, например, на рисунке ниже), я хочу написать «Твердый экземпляр проблемы AutoCAD Construction» в B10.«Цифровые файлы» в B11 и печатные издания в B12.Моя проблема заключается в том, что всякий раз, когда я создаю этот список, я хочу, чтобы список начинался с B10, и между ними не было разрыва.Порядок в списке должен быть следующим: печатная копия AutoCAD Construction Issue, цифровые файлы и распечатки.

Мой код вставлен ниже:

Sub Descriptions()
    Range("A14:A305").ClearContents

    For r = 14 To Cells(Rows.Count, "B").End(xlUp).Row
        On Error Resume Next  'get rid of that... find error and fix/build logic, don't ignore it

        If Range("A1").Value = "30% Design Review" Or Range("A1").Value = "Final Design Review" Then
            If InStr(Cells(r, "B").Value, "BMC-9") Then
                Cells(r, "E").Value = "Bill of Materials"
                Cells(r, "A").Value = "DF, P"
            ElseIf InStr(Cells(r, "B").Value, "MC-9") Or InStr(Cells(r, "B").Value, "CSR-9") Or InStr(Cells(r, "B").Value, "LC-9") Then
                Cells(r, "A").Value = "DF, P"
            End If
        ElseIf Range("A1").Value = "Construction Submittal" Then
            If InStr(Cells(r, "B").Value, "BMC-9") Then
                Cells(r, "E").Value = "Bill of Materials"
                Cells(r, "A").Value = "DF, P"
            ElseIf InStr(Cells(r, "B").Value, "MC-9") Or InStr(Cells(r, "B").Value, "CSR-9") Or InStr(Cells(r, "B").Value, "LC-9") Then
                Cells(r, "A").Value = "AH, DF"
            End If
        End If
    Next

    For r = 14 To Cells(Rows.Count, "B").End(xlUp).Row
        If Cells(r, "A").Value = "DF, P" Then
            Range("B10").Value = "Digital Files"
            Range("B11").Value = "Prints"
        ElseIf Cells(r, "A").Value = "AH, DF" Then
            Range("B10").Value = "AutoCAD Construction Issue Hard Copy"
            Range("B11").Value = "Digital Files"
        End If
    Next
End Sub

Новое редактирование 04/11/2019

enter image description here

Ответы [ 2 ]

0 голосов
/ 11 апреля 2019

enter image description here

Sub SeachDesc()
Dim SrchRng As Range, cel As Range
Set SrchRng = Range("A14:A305")
Range("B10:B12").ClearContents
For Each cel In SrchRng
    If cel.Value = "DF, P" Then
        Range("B10").Value = "Digital Files"
        Range("B11").Value = "Print(s)"
    ElseIf cel.Value = "AH, DF" Then
        Range("B10").Value = "AutoCAD Construction Issue Hard Copy"
        Range("B11").Value = "Digital Files"
    End If
Next cel
    If Range("B11").Value = "Print(s)" And Range("B12").Value = "Print(s)" Then
        Range("B10").Value = "AutoCAD Construction Issue Hard Copy"
        Range("B11").Value = "Digital Files"
        Range("B12").Value = "Print(s)"
    End If
End Sub
0 голосов
/ 11 апреля 2019

Меня может смущать то, что вы спрашиваете, но, я думаю, вы можете достичь этого с помощью формулы.

enter image description here

...как видите, это формула массива, поэтому при переходе к ней обязательно нажимайте Shift + Ctrl + Enter , в противном случае она станет бесполезной.

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

Так что, если я попытаюсь использоватьваш точный сценарий, это то, что я придумал ...

Example

Чтобы упростить понимание, вы можете скачать пример учебника здесь...

Пример рабочей книги

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

Надеюсь, это даст вам то, что вы хотите.

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