Tu znajdziejsz pliki pomocnicze związane z danym zagadnieniem - przykłady, zadania - do pobrania.
Tu znajdziesz linki do tematów powiązanych z aktualnie wybranym filmem.

Notatki użytkownika (prywatne, niemoderowane)

Komentarze

Anonimowy

Mam pytanie do zadania 2 (pętla przez wszystkie arkusze)

Dlaczego zmienną "arkusz" muszę dodawać do każdego Range? 

W innym przypadku makro nie działa. Czy można uprościć tą procedurę? 

 

Sub Makro2()

   Dim arkusz As Worksheet
   
   For Each arkusz In ActiveWorkbook.Worksheets

      arkusz.Range("A1:c50").ClearContents
   
      arkusz.Range("B3").Value = "Komórka"
      arkusz.Range("C3").Value = "Wartośc"
      arkusz.Range("B4").Value = "A"
      arkusz.Range("B5").Value = "B"
      arkusz.Range("B6").Value = "C"
      arkusz.Range("C4").Value = "10"
      arkusz.Range("C5").Value = "20"
      arkusz.Range("C6").Value = "13"
      arkusz.Range("B7").Value = "Suma"
      arkusz.Range("C7").Value = "=Sum(C4:C6)"
      
      With arkusz.Range("B3:C3")
            .Font.Bold = True
               With .Interior
                  .Pattern = xlSolid
                  .Color = 65535
               End With
               With .Borders()
                  .LineStyle = xlNone
               End With
            .Borders(xlEdgeLeft).LineStyle = xlContinuous
            .Borders(xlEdgeTop).LineStyle = xlContinuous
            .Borders(xlEdgeBottom).LineStyle = xlContinuous
            .Borders(xlEdgeRight).LineStyle = xlContinuous
      End With
   Next arkusz
      
End Sub

Admin

Jeżeli iteracja (pętla) działa dla każego arkusza w skoroszycie to poprzez zmienną 'arkusz' wskazujemy ten, w którym akcja dzieje się w danym powtórzeniu pętli. Jedyne uproszczenie jakie przychodzi mi do głowy to dalsze wykorzystanie With...End With i ujęcie całęgo wnętrza pętli w dodatkowy blok:

 

For arkusz ...

With arkusz

  .Range('A1:c50").ClearContents

  ...

  ...

End With

Next arkusz

Dodaj komentarz (publiczny, moderowany przez administratora strony, także miejsce na uwagi do autora)