У меня есть папка с листами excel, а также другой рабочий лист с столбцом, записи которого соответствуют именам файлов рабочих листов в папке.VBA Excel - найти значение в столбце, вставить на другой лист
Колонка справа от названия рабочего листа имеет номер, который я хочу, чтобы вставить в каждый соответствующий лист ... но это не работает ... вот мой код до сих пор:
Sub FraisRank()
Dim folderPath As String
Dim filename As String
Dim filenameshort As String
Dim wb As Workbook
Dim fraislist As Workbook
Dim find As Range
Dim sel As Range
folderPath = "C:\Users\richard\Desktop\temp"
If Right(folderPath, 1) <> "\" Then folderPath = folderPath + "\"
Set fraislist = Workbooks.Open("C:\Users\richard\desktop\frais list.xlsx")
filename = Dir(folderPath & "*.*")
Do While filename <> ""
Application.ScreenUpdating = False
Set wb = Workbooks.Open(folderPath & filename)
filenameshort = Left(filename, Len(filename) - 4)
Set sel = fraislist.Sheets(1).Range("A1:A164")
Set find = sel.find(What:=filenameshort, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If find Is Nothing Then
MsgBox ("Cell " & filenameshort & " not found")
Else
find.Offset(, 1).Resize(1, 1).Copy
ActiveSheet.Range("$H$5").PasteSpecial Paste:=xlPasteValues
End If
ActiveWorkbook.Save
ActiveWorkbook.Close
filename = Dir
Loop
End Sub
Для когда я получаю ошибку Runtime «13», введите несоответствие в разделе «Установить find = ...». И вообще я не понимаю, как запустить «.find» на основе выбранных ячеек в „“ fraislist книги ...
BIRDSVIEW: Изменить 'After: = ActiveCell' на' After: = fraislist.Sheets (1) .Range ("A1") ' –
Siddharth благодарит за эту проблему! Выполните ответ, и я выберу – Petrov
Если вы настаиваете :) –