Этот код VBA 2007 выполняет эту работу, но только для первого листа, он не перебирает остальные листы рабочей книги (там, где он ищет значение и возвращает ошибку где он не находится на первом листе, но он не должен). Может ли кто-нибудь посоветовать мне, почему? Большое спасибоКод не завершается с помощью рабочих листов
Set sourcewb = Workbooks.Open(Filename:=direccionArchivo)
chakal = sourcewb.Index
guapo = sourcewb.Worksheets.Count
For z = chakal To guapo
Set ws = Sheets(z)
sourcewb.Columns(1).Value = Application.WorksheetFunction.Clean(sourcewb.Columns(1))
Set gCell = ws.Columns("A").Find(what:=IDPEDIDO, LookIn:=xlValues, lookat:=xlWhole, SearchOrder:=xlByRows, MatchCase:=False, searchformat:=False)
If Not gCell Is Nothing Then
'OTHER CODE NOT DISPLAYED
end if
Next z
Set gCell = Nothing
У вас нет ошибки? sourcewb.columns (1) должен дать ошибку. В книге нет столбцов. Это должно быть ws.columns (1) в нескольких местах. – Barry
ОК, может быть, так как это для (внутри другого), это сработает. – Chakal
Я также думаю, что chakal должен быть 1. Теперь он установлен в индекс рабочей книги, и это не имеет смысла, если chakal используется для прокрутки листов: для z = 1 - sourcewb.worksheets.count. – Barry