Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Excel VBA - Formátovanie

Aspoň sa to makro spustilo, t.j. vymazal sa celý obsah listu PTPRVA? Môžeš si do kódu umiestniť bod prerušenia pomocou klávesy F9 a potom makro krokovať pomocou klávesy F8. Tak uvidíš, že čo sa vlastne vykonáva.

Aby sa makro vykonalo pri aktivovaní listu a počet riadkov a stĺpcov sa určoval automaticky, tak by to mohlo vyzerať takto:

Private Sub Worksheet_Activate()
    Dim srcRange As Range
    Dim dstCell As Range

    Cells.Clear

    Set srcRange = Worksheets("PrvaSK4").Range("B3")
    nRows = srcRange.End(xlDown).Row - srcRange.Row + 1
    nColumns = srcRange.End(xlToRight).Column - srcRange.Column + 1
    
    Set srcRange = srcRange.Resize(nRows, 2)
    Set dstCell = Range("A1")
    
    For i = 1 To nColumns / 3
        srcRange.Copy dstCell
        Set srcRange = srcRange.Offset(0, 3)

        Set dstCell = dstCell.Offset(0, 2)
        If i Mod 12 = 0 Then
            Set dstCell = dstCell.Offset(srcRange.Rows.Count + 1).End(xlToLeft)
            If dstCell.Row <= 44 And dstCell.Row + srcRange.Rows.Count > 44 Then
                Set dstCell = dstCell.Offset(44 - dstCell.Row + 1)
            End If
        End If
    Next i
    
    Cells.ClearFormats
End Sub

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny