VBA Excel pętle for each

Wątek przeniesiony 2021-01-28 13:32 z Inne języki programowania przez cerrato.

S0
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

Dzień dobry,

Czy ktoś może mi powiedzieć co jest nie tak z tą pętlą?

Sub clear_data()

Dim WS As Worksheet

For Each WS In ActiveWorkbook.Sheets

Range("A2:C10").ClearContents

Next WS

MsgBox "Done"

End Sub

Polecenie działa tylko na pierwszym arkuszu.

Z góy dziękuję za pomoc.

ZI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 192
1

O ile dobrze przepisałeś ten kod, to powinno być w pętli:
WS.Range().Clear....

S0
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

Faktycznie, teraz działa.
Dziękuję :)

ZI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 192
0

A takz ciekowości, wiesz dla czego teraz działa?

S0
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0
zibicoder napisał(a):

A takz ciekowości, wiesz dla czego teraz działa?

Rozumiem to tak, że zadeklarowałam WS jako arkusz, a później wskazując zakres nie wskazałam, że pętla ma działać w obrębie WS, dlatego next WS nie wykonywało operacji w kolejnych arkuszach.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.