Omzetten Kolom Letter naar Kolom nummer

Status
Niet open voor verdere reacties.

BennyBr

Gebruiker
Lid geworden
14 jan 2021
Berichten
15
Onderstaand code werkt.

Code:
Sub Menu_Links()

For i = 1 To 15
    ActiveSheet.Shapes("Link_" & i).Select
    Selection.ShapeRange.TextFrame2.TextRange.Font.Size = 10
    StartCell = -30 + (i * 40) - 1
    StopCell = StartCell + 34
    Debug.Print StartCell & " - " & StopCell
    ActiveSheet.Hyperlinks.Add _
        Anchor:=Selection.ShapeRange.Item(1), _
        Address:="", _
        SubAddress:="A" & StartCell & ":A" & StopCell, _
        ScreenTip:=" "
Next i
End Sub

Nu moet er rond de For loop nog een 2e For loop, om zo door 5 verschillende kolommen te loopen.
Het pobleem situeert zich:

Code:
SubAddress:="A" & StartCell & ":A" & StopCell, _

Ik wil deze converteren naar een range met Cells, zodat ik ipv "A" een kolom getal kan invoeren.
Als dat lukt kan ik de 2e FOR loop wel aan.
Alle pogingen tot hier toe zijn mislukt.

Kan iemand me wegwijs helpen?
 
Waarom niet gewoon hyperlinks in cellen ?
Overbodige figuren maken je bestand onnodig zwaar en traag.

Code:
For j=1 to 15
   for jj=1 to 10
      msgbox cells(j,jj).address
   next
Next
 
Ik ben bezig met een database, dat zowel beheerbaar is, maar ook meteen presenteerbaar aan de klant.
Ik heb dus bewust gekozen voor textboxen.
Er komt ook nog een achtergrond logo achter, wat bij gewone cellen niet kan (denk ik).
Het bestand zal zeker niet te zwaar zijn.

Hoe krijg ik die kolom "A" in subadress nu in kolom "1" ? :d
 
Probeer het zo eens:
Code:
For i = 65 To 90
    MsgBox "SubAddress:=" & Chr(i) & StartCell & ":" & Chr(i) & StopCell
Next i
 
Niet eens de macro laten draaien ?
 
Ik heb geprobeerd het advies te volgen maar tevergeefs
Ik heb het wel opgelost, maar dit is zeker niet pro

Code:
Sub Menu_Links()

Kolom = "A"
j = 1
    For i = 1 To 75
        If i = 16 Then
        Kolom = "W"
        j = 1
        ElseIf i = 31 Then
        Kolom = "AS"
        j = 1
        ElseIf i = 46 Then
        Kolom = "BO"
        j = 1
        ElseIf i = 61 Then
        Kolom = "CK"
        j = 1
    End If
    ActiveSheet.Shapes("Link_" & i).Select
    Selection.ShapeRange.TextFrame2.TextRange.Font.Size = 10
    StartCell = -30 + (j * 40) - 1
    StopCell = StartCell + 34
    'Debug.Print StartCell & " - " & StopCell & " - " & Kolom & " - " & i & " / " & j
    ActiveSheet.Hyperlinks.Add _
        Anchor:=Selection.ShapeRange.Item(1), _
        Address:="", _
        SubAddress:=Kolom & StartCell & ":" & Kolom & StopCell, _
        ScreenTip:=" "
        'Debug.Print Kolom & StartCell & ":" & Kolom & StopCell
        j = j + 1
    Next i
    
End Sub

Ik heb nu 75 links naar 75 delen (5x15 slides) van het werkblad.
De knoppen staan in de 'frozen' header.
Ik heb ook knoppen om mooi van links naar rechts te gaan.
Op deze manier kan ik mijn data mooi bijhouden en steeds mbv een 'fullscreen macro' deze presenteren.
Geen behoefte meer aan dubbel werk met powerpoint.

Het enige spijtige is dat bij gebruik van
Code:
ScreenTip:=" "
of
Code:
ScreenTip:=""
, het kadertje nog steeds tevoorschijn komt.
 
Geen idee wat je code zou moeten doen, maar zoals het er nu staat, is het enigszin onzin. Je begint met een loop op i, die altijd doorloopt tot de laatste waarde 75. Dus zodra je verder gaat met ActiveSheet.Shapes heeft i altijd de waarde 75, j = 1, en Kolom "CK". En dat kun je natuurlijk een stuk makkelijker invoeren...
Ik denk dat je beter het bestandje kan posten :).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan