Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Excel: rozevírací seznam s předvolenou hodnotou

To makro je potrebné zapracovať do toho Tvojho, lebo to všetko sa má odohrávať pri tej istej udalosti: zmene v hárku. To moje nemôžeš len takto strojnásobiť, lebo v prípade, že nie je splnená prvá podmienka (test, či sa zmenila hodnota v oblasti stĺpca A), tak sa všetok nasledujúci kód ignoruje a makro končí. Takže ja by som použil Select Case na výber úkonov podľa toho, v ktorom stĺpci sa nachádza Target. A na začiatku by mohol byť rozsah riadkov (predpokladám, že rovnaký pre všetky spracovávané stĺpce) ošetrený práve tak, že v prípade, že Target je mimo tohto rozsahu riadkov, tak makro skončí. A máš tam chybu, nemôžeš testovať či sa udiala zmena v stĺpci D a zároveň dať naplniť hodnotu v tom istom stĺpci, to by sa Ti zacyklilo. To si sa asi pomýlil, veď aj Tvoj vzorec mal podľa obsahu bunky v stĺpci A určiť hodnotu v stĺpci C!
Takže Tvoj prípad by vyzeral takto:

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Row < 10 Or Target.Row > 5000 Then Exit Sub
    
    Select Case Target.Column
        Case 3
        't.j. v prípade zmeny v stĺpci C nastavuje obsah v stĺpci D:
            If Target = "" Then
                Range("D" & Target.Row) = ""
                Else: Range("D" & Target.Row) = "tuzemsko"
            End If
        Case 10
        't.j. v prípade zmeny v stĺpci J nastavuje obsah v stĺpci K:
            If Target = "" Then
                Range("K" & Target.Row) = ""
                Else: Range("K" & Target.Row) = "1"
            End If
        Case 20
        't.j. v prípade zmeny v stĺpci T nastavuje obsah v stĺpci U:
            If Target = "" Then
                Range("U" & Target.Row) = ""
                Else: Range("U" & Target.Row) = "N"
            End If
        'atď
        Case Else
            Exit Sub
    End Select
    
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