Hirdetés

Keresés

Új hozzászólás Aktív témák

  • Zalanius

    tag

    válasz Bobrooney #3050 üzenetére

    Ez félig bugnak tűnik, de található rá magyarázat. A szürke popup kivételével sikerült is reprodukálnom. A cellához tartozó link nem egy egyedi string érték, hanem egy collection. Két cella egyesítésekor az első cella linkje marad csak meg, a többié elveszik, eddig rendben. Ha ezután módosítod a grafikus nézetben a linket, akkor a háttérben egy .Add() függvényt használhat az Excel. Ez csak tipp, de eléggé gyanús. Mi történik ezután: az egyesített cella első részcellájában KETTŐ link lesz, az (1) indexen a régi, a (2) indexen az új. A többi részcellában eddig semmi nem volt, ezért oda az (1) indexen az új kerül.

    Tegyük fel, hogy az A oszlopban vannak a linkes cellák, némelyik egyesített. Ekkor egy teljeskörű teszthez például bevethető ez, most 4 sort feltételezve:

    Dim rowcount%
    rowcount = 4

    For i = 1 To rowcount
    If Range("A1").Offset(i - 1, 0).Hyperlinks.Count > 0 Then
    For j = 1 To Range("A1").Offset(i - 1, 0).Hyperlinks.Count
    MsgBox Range("A1").Offset(i - 1, 0).Hyperlinks(j).Address, vbOKOnly, _
    Range("A1").Offset(i - 1, 0).AddressLocal & ", index: " & j & _
    ", full count: " & Range("A1").Offset(i - 1, 0).Hyperlinks.Count
    Next
    End If
    Next

    Ha a problémádat jól leírja a fenti, és VBA-ban kell feldolgoznod a linkeket, akkor a Count tulajdonságot kell indexként használni, és így mindig a legutoljára beállított linket olvassa a kód.

    Persze van egy olyan olvasata is ennek az enyhén bugos helyzetnek, hogy formailag szép dolog az egyesített cella, de amint a tábla célja nem a külsőségekről szól, hanem valamilyen automatizált feldolgozásról, ott részemről csak felesleges nyűg.

Új hozzászólás Aktív témák