Я попросил (similar question)) несколько недель назад, и я попытался перейти к своему новому вопросу, используя его, но я не смог. В основном, что я хочу сделать, так это: у меня есть данные, которые копируются из одной и вставить в столбец A учебника шаблонов. После этого я хочу изменить содержимое тех ячеек, которые я только что вставил, в зависимости от того, что находится в ячейке, когда я их вставляю. Например, одна ячейка будет вставлена, и она будет скажем, «ALBY Total», и я хочу автоматически (используя VBA) изменить ячейку, чтобы сказать «ALBY». Я попытался сам ее закодировать, но не смог заставить ее работать. У меня нет ошибки, но ничего не происходит. Вот пример моего кода (есть тонна массивов, так что я не дам вам все из них):Использование функции массива для изменения значений ячеек на основе их текущих значений?
Sub TSA_Template_Creation_Macro()
Workbooks("TSA Template.xlsm").Activate
Set wb = ThisWorkbook
Set ws = wb.Sheets(1)
alby = Array("ALBY Total")
anch = Array("ANCH Total")
atlc = Array("ATLC Total")
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
For x = 1 To lastRow
If stringIsInArray(ws.Cells(x, 1), alby) Then
ws.Cells(x, 1) = "ALBY"
ElseIf stringIsInArray(ws.Cells(x, 1), anch) Then
ws.Cells(x, 1) = "ANCH (+office)"
ElseIf stringIsInArray(ws.Cells(x, 1), atlc) Then
ws.Cells(x, 1) = "ATLC"
End If
Next x
End Sub
Function stringIsInArray(stringToBeFound As String, arr As Variant) As Boolean
stringIsInArray = (UBound(Filter(arr, stringToBeFound)) > 0)
End Function
Я довольно новичок в мире VBA, поэтому вполне может быть простым решением. Я возился с ним, но я понятия не имею, как заставить его работать.
Вы, сэр, чемпион! Огромное спасибо!!! Как я уже сказал, я немного неофит, работающий на стажировке, и ты спас мою задницу. Это лучший сайт в мире! – chris7626