Witam,
w makrze poniżej nie działa mi właściwie funkcja for each next. Wygląda na to, że nie zmienia się arkusz w pętli i ciągle sprawdzany jest ten sam. Sprawdzałem wstawiając msgbox z nazwą aktywnego arkusza - ciągle jest ten sam i wartość znajduje w tym samym miejscu. Co może być problemem ?
Kod jest roboczy i będzie poprawiony :)
Sub szukaj()
'wyszukiwanie zmiany
Dim dataG11 As String
Dim dataG30 As String
Dim zmiana As String
Dim arkusz As Integer
Dim ws As Worksheet
Dim lastkol As Integer
Dim lastrow As Integer
Dim cell As Range
Dim rng As Range
dataG11 = InputBox("podaj date dla G11")
plikG11 = "nazwa_pliku" & dataG11 & ".xlsx"
dataG30 = InputBox("podaj date dla G30")
plikG30 = "nazwa_pliku" & dataG30 & ".xlsx"
zmiana = InputBox("podaj nazwę zmiany")
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
Workbooks.Open Filename:="lokalizacja" & plikG11, UpdateLinks:=0
On Error Resume Next
Workbooks.Open Filename:="lokalizacja" & plikG30, UpdateLinks:=0
Application.DisplayAlerts = True
Windows(plikG11).Activate
For Each ws In ActiveWorkbook.Worksheets
lastkol = Cells(2, 255).End(xlToLeft).Column
lastrow = Range("A65000").End(xlUp).Row
'Set rng = Range(Cells(1, lastkol), Cells(lastrow, lastkol + 5))
Set cell = Range("A1:A50").Find(zmiana)
If cell Is Nothing Then
MsgBox "w pierwszym skoroszycie nie ma"
Else
MsgBox "znalezione = " & cell.Address
End If
Next ws
End Sub