Ve verzích Excelu se může lišit způsob kopírování buněk v oblasti se skrytými buňkami. Zde je přehled rozdílů:
Verze před Excel 2010:
– Pokud v oblasti se skrytými buňkami vyberete určitou oblast buněk a provedete standardní kopírování a vložení, budou zkopírovány všechny buňky včetně těch skrytých.
– Tento přístup může být nepříjemný, protože skryté buňky jsou zahrnuty do kopírovaného obsahu a mohou ovlivnit výsledek operace.
Excel 2010 a novější verze:
– Od verze 2010 Excel přinesl změnu ve způsobu kopírování buněk v oblasti se skrytými buňkami.
– Pokud vyberete oblast se skrytými buňkami a provedete standardní kopírování a vložení, skryté buňky nebudou zahrnuty v kopírovaném obsahu.
– Tento nový přístup usnadňuje manipulaci s oblastmi, které obsahují skryté buňky, protože se kopírují pouze viditelné buňky.
Je důležité poznamenat, že chování může být upraveno pomocí nastavení možností kopírování ve volbách Excelu. Pokud chcete mít kontrolu nad tím, zda jsou skryté buňky zahrnuty při kopírování, můžete zkontrolovat tyto možnosti a přizpůsobit je svým potřebám.
Zde je upravený kód, který pracuje se zdrojovým listem „zdroj“ a kopíruje do cílového listu „cil“ do buňky A2. Po dokončení kopírování je list „cil“ aktivní:
Sub KopirovatSkrytouOblast()
Dim zdrojList As Worksheet
Dim cilList As Worksheet
' Nastavení zdrojového a cílového listu
Set zdrojList = ThisWorkbook.Sheets("zdroj")
Set cilList = ThisWorkbook.Sheets("cil")
' Uložte referenci na oblast A1:F1 v zdrojovém listu
Dim sourceRange As Range
Set sourceRange = zdrojList.Range("A1:F1")
' Uložte referenci na skryté sloupce v oblasti
Dim hiddenColumns As Range
Set hiddenColumns = Nothing
Dim cell As Range
For Each cell In sourceRange
If cell.EntireColumn.Hidden = True Then
If hiddenColumns Is Nothing Then
Set hiddenColumns = cell.EntireColumn
Else
Set hiddenColumns = Union(hiddenColumns, cell.EntireColumn)
End If
End If
Next cell
' Zobrazte skryté sloupce
If Not hiddenColumns Is Nothing Then
hiddenColumns.Hidden = False
End If
' Zkopírujte oblast A1:F1 ze zdrojového listu
sourceRange.Copy
' Vložte zkopírovanou oblast na cílový list do buňky A2
cilList.Range("A2").PasteSpecial Paste:=xlPasteAll
' Skryjte sloupce B:D (nebo skryté sloupce)
If Not hiddenColumns Is Nothing Then
hiddenColumns.Hidden = True
End If
' Vypnutí kopírovacího módu
Application.CutCopyMode = False
' Aktivace cílového listu "cil"
cilList.Activate
End Sub
Tento upravený kód předpokládá, že zdrojový list se jmenuje „zdroj“ a cílový list se jmenuje „cil“. Před spuštěním kódu se ujistěte, že tyto názvy listů odpovídají vašim skutečným názvům. Po dokončení kopírování se aktivuje cílový list „cil“.Tento upravený kód předpokládá, že zdrojový list se jmenuje „zdroj“ a cílový list se jmenuje „cil“.