Excel VBA - найдите первое вхождение любого значения в столбце A, затем вставьте значение столбца B в столбец C (та же строка) - PullRequest
0 голосов
/ 12 декабря 2018

Я пытаюсь написать сценарий VBA для еженедельной работы по дому.Вот мои данные:

IMG1

Я запускаю макрос, который очищает значения столбца C. Затем я должен найти первое вхождение каждого уникального значения в столбце A. КогдаЯ нахожу первое вхождение, я пишу в той же строке столбца C "= столбец B" только для этой строки.По сути, я пытаюсь сказать: «A4 - это первое вхождение уникального значения, поэтому C4 = B4».Я не могу сделать простую функцию IF () и перетащить ее вниз, потому что остальная часть столбца C должна оставаться действительно пустой (на нее ссылается функция IF (NOT (ISBLANK))).

I 'Я новичок в VBA и, к сожалению, записывать то, что я сделал, не отражало мои реальные намерения.Это был макрос, который не выглядит эффективным:

Sub Macro1()
'
' Macro1 Macro
'

    Range("C8").Select
    Application.Left = 3591.25
    Application.Top = 268
    Windows("Copy of OPS_schedule_6.xlsm").Activate
    Application.Left = 3451.75
    Application.Top = 163
    Windows("Book1").Activate
    Range("A1").Select
    Selection.AutoFilter
    ActiveSheet.Range("$A$1:$B$9").AutoFilter Field:=1, Criteria1:="Alpha"
    Range("C1").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "=RC[-1]"
    Range("C2").Select
    ActiveSheet.Range("$A$1:$B$9").AutoFilter Field:=1, Criteria1:="Bravo"
    Range("C4").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "=RC[-1]"
    Range("C5").Select
    ActiveSheet.Range("$A$1:$B$9").AutoFilter Field:=1, Criteria1:="Charlie"
    Range("C8").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "=RC[-1]"
    Range("C9").Select
End Sub

1 Ответ

0 голосов
/ 12 декабря 2018

Если вы использовали формулу, такую ​​как

 =IF(COUNTIF(A$1:A1,A1)=1,B1,"del")

Вы можете очистить del s с помощью Find & Select или, так как вы пометили этот VBA, с помощью:

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