Kategorie szkoleń | Egzaminy | Kontakt
  • 1
  • 0
  • 1

Chciałem napisać makro, które zmieni font/czcionkę we wszystkich arkuszach skoroszytu. Niestety wskazany niżej pogrubiony kod nie działa i chciałbym zrozumieć dlaczego:

Sub ZmianaFontuArkusz1()

Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets

ws.Cells.Select

With Selection.Font

.Size = 10
.Name = "Segoe UI Semilight"
End With
Next ws

End Sub

Ostatecznie poradziłem sobie z pętlą zmieniającą numer arkusza, ale chciałem wiedzieć dlaczego przy utworzonej zmiennej nie zadziałało "Cells.Select".

Dziękuję.

Piotr_Janus
  • Zapytał
  • @ Piotr_Janus | 03.12.2019
    • 1
    • 0
    • 0

Odpowiedź (1)

  • 0

Select działa w aktywnym arkuszu. Więc albo:

1. Przed ws.Cells.Select powinieneś dać ws.Activate,

2. Albo zapisać kod tak:

Sub ZmianaFontuArkusz1()

Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets

With ws.Cells.Font

.Size = 10
.Name = "Segoe UI Semilight"
End With
Next ws

End Sub

I kod będzie działać. :)

Tomasz_Kasprzycki
  • Odpowiedział
  • @ Tomasz_Kasprzycki | 03.12.2019
    • 2
    • 4
    • 8