Ao usar citações dentro de uma fórmula, você deve dobrá-las:
Range("A1").Formula = "=CELL(""address"", INDEX(H:J, MATCH(L11,H:H, 0),2))"
ActiveCell.FormulaR1C1 = "=INDEX(R[-5]C[-9], 3, 2, )"
Eu olhei toda a troca de pilha e não vi exatamente o que estou procurando. Eu tenho uma extensa lista de alguns itens que precisam de calibração constante em diferentes datas e intervalos, e o que eu estou tentando fazer é fazer um VBA / Macro para que eu possa atualizar a data de calibração de qualquer item específico sem ter que olhar para cada entrada individual ou usando = VLOOKUP (). até agora não tenho nada sólido posso chamar um programa ainda, mas o que eu tinha imaginado era em uma célula escrever o número de ID do item, em outra célula a nova data de calibração exp e ter um botão ao lado deles para que seja buscas pelo ID #, move uma coluna para a direita e substitui o texto na célula pela nova data. Simples o suficiente para explicar, mas dado o fato de que eu comecei a aprender sobre o VBA quatro horas atrás, está provando ser um desafio. Até agora eu brinquei com algum código sem sucesso:
range("a1").Formula = "=CELL("address", INDEX(H:J, MATCH(L11,H:H, 0),2))"
ActiveCell.FormulaR1C1 = "=INDEX(R[-5]C[-9], 3, 2, )"
Vou fornecer mais informações ou contexto se alguém precisar!
Ao usar citações dentro de uma fórmula, você deve dobrá-las:
Range("A1").Formula = "=CELL(""address"", INDEX(H:J, MATCH(L11,H:H, 0),2))"
ActiveCell.FormulaR1C1 = "=INDEX(R[-5]C[-9], 3, 2, )"
Isso vai te deixar bem perto. Você pode ajustar isso para ajustar seus dados. Os comandos MsgBox comentados podem ser excluídos, mas são úteis para depuração.
Sub SetCalDate()
'Set up variables
Dim ID, RowNum As Integer
Dim NewCalDate As Date
Dim IDNums As Range
'Initialize variables
ID = Range("A1").Value 'Assumes the ID to Find is in A1,
NewCalDate = Range("B1").Value 'and the NewCalDate is in B1.
'MsgBox NewCalDate
Set IDNums = Range("C1:C10") 'This is the range of ID's to be searched.
'You might need something like Set IDNums = Worksheets("Sheet3").Range("C1:C10")
'if the ID numbers are on a different sheet.
'Find the ID in IDNums
RowNum = Application.WorksheetFunction.Match(ID, IDNums, 0)
'MsgBox RowNum
Range("D" & RowNum) = NewCalDate 'Assumes the CalDates are in column D.
End Sub
Se você quiser atribuir a macro a um botão, coloque o código em um novo módulo primeiro, em seguida, faça um botão e atribua a macro SetCalDate () a ele conforme explicado