Dansk Regneark Forum
  Hjælp Hjælp  Søg i forum   Arrangementer   Opret ny bruger Opret ny bruger  Log ind Log ind


Emne lukketAdresse på start/slut i en Range?

 Besvar Besvar
Forfatter
Erik_O Se dropdown
Forum Begynder
Forum Begynder


Medlem: 04.Dec.2016
Land: Danmark
Status: Offline
Point: 4
Direkte link til dette indlæg Emne: Adresse på start/slut i en Range?
    Sendt: 04.Dec.2016 kl. 16:31
Hej,

Jeg har brug for en funktion, der returnerer værdierne for adressen på hhv. start- og slutcellen i en Range, f.eks. 1, 1 og 3, 3 - hvis Rangen går fra A1 til C3.

Det tætteste jeg kan komme er følgende kode :

Dim oRange As Range
Dim startRow As Integer
Dim endRow As Integer
Dim startCol As Integer
Dim endCol As Integer


With Selection
    startRow = .Rows(1).Row
    startCol = .Columns(1).Column
    endRow = .Rows(Selection.Rows.Count).Row
    endCol = .Columns(Selection.Columns.Count).Column

End With

Range("a1") = startRow
Range("b1") = startCol
Range("a2") = endRow
Range("b2") = endCol


Makroen returnerer de 4 værdier, jeg har brug for - men i hver sin celle. Hvordan får jeg mon "samlet" værdierne startRow/startCol - og endRow/endCol - i en variabel eller celle?

Håber, det giver mening Smile

Med venlig hilsen
Erik
Til top



Til top
excelent Se dropdown
Guld bruger
Guld bruger
Avatar

Medlem: 12.Apr.2011
Land: DK
Status: Offline
Point: 2171
Accepteret svar Accepteret svar
Direkte link til dette indlæg Sendt: 04.Dec.2016 kl. 19:47
ups :-)

Range("A1") = CDec(ActiveCell.Row & "," & ActiveCell.Column)
Range("A2") = CDec(Selection.Rows.Count + ActiveCell.Row - 1 & "," & Selection.Columns.Count + ActiveCell.Column - 1)
Jeg anvender Excel 2016 DK. Hvad anvender DU ? HUSK TILBAGEMELDING !!!
Til top
excelent Se dropdown
Guld bruger
Guld bruger
Avatar

Medlem: 12.Apr.2011
Land: DK
Status: Offline
Point: 2171
Direkte link til dette indlæg Sendt: 04.Dec.2016 kl. 17:04
Ud fra din kode at dømme, har du allerede markeret aktuel område

så er det blot msgbox selection.address
Jeg anvender Excel 2016 DK. Hvad anvender DU ? HUSK TILBAGEMELDING !!!
Til top
Erik_O Se dropdown
Forum Begynder
Forum Begynder


Medlem: 04.Dec.2016
Land: Danmark
Status: Offline
Point: 4
Direkte link til dette indlæg Sendt: 04.Dec.2016 kl. 17:55
Citat: excelent excelent skrev:

Ud fra din kode at dømme, har du allerede markeret aktuel område

så er det blot msgbox selection.address

Hej Moderator,

Tak for dit svar Smile

Koden ovenfor sender værdien (eller tallet) for første række i Rangen til cellen A1, værdien for den første kolonne til B1, værdien for sidste række i A2 og værdien for sidste kolonne i B2 - efter at jeg manuelt har markeret et område og derefter startet makroen. 
De 4 celler (A1:B2") er tilfældigt valgte, bare for at jeg nemt kan se værdierne, når jeg tester Smile

Hvis jeg marker området A5:B7 og kører makroen, vil der stå tallet 5 i cellen A1, 1 i cellen B1, 7 i cellen A2 og 2 i cellen B2

Det jeg gerne vil opnå er, at værdien for den første række og første kolonne i Rangen kan sendes til en celle i formatet tal, tal - f.eks 5, 1 (for A5) og værdien for den sidste række og sidste kolonne, f.eks 7,2 til en anden celle.

Din kode angiver rigtig nok start- og slutadresserne på Rangen, men jeg skal bruge selve talværdierne i en anden makro.
Til top
excelent Se dropdown
Guld bruger
Guld bruger
Avatar

Medlem: 12.Apr.2011
Land: DK
Status: Offline
Point: 2171
Direkte link til dette indlæg Sendt: 04.Dec.2016 kl. 18:40
Prøv :

Range("A1") = ActiveCell.Row
Range("B1") = ActiveCell.Column
Range("A2") = Selection.Rows.Count + ActiveCell.Row - 1
Range("B2") = Selection.Columns.Count + ActiveCell.Column - 1
Jeg anvender Excel 2016 DK. Hvad anvender DU ? HUSK TILBAGEMELDING !!!
Til top
Erik_O Se dropdown
Forum Begynder
Forum Begynder


Medlem: 04.Dec.2016
Land: Danmark
Status: Offline
Point: 4
Direkte link til dette indlæg Sendt: 04.Dec.2016 kl. 19:07

Din kode gør det samme som min Smile Jeg ville gerne have, at A1 fik værdien 5, 1 og A2 fik værdien 9, 2. Altså kun 2 værdier i stedet for 4.
Til top
excelent Se dropdown
Guld bruger
Guld bruger
Avatar

Medlem: 12.Apr.2011
Land: DK
Status: Offline
Point: 2171
Accepteret svar Accepteret svar
Direkte link til dette indlæg Sendt: 04.Dec.2016 kl. 19:47
ups :-)

Range("A1") = CDec(ActiveCell.Row & "," & ActiveCell.Column)
Range("A2") = CDec(Selection.Rows.Count + ActiveCell.Row - 1 & "," & Selection.Columns.Count + ActiveCell.Column - 1)
Jeg anvender Excel 2016 DK. Hvad anvender DU ? HUSK TILBAGEMELDING !!!
Til top
Erik_O Se dropdown
Forum Begynder
Forum Begynder


Medlem: 04.Dec.2016
Land: Danmark
Status: Offline
Point: 4
Direkte link til dette indlæg Sendt: 04.Dec.2016 kl. 20:13
Citat: excelent excelent skrev:

ups :-)

Range("A1") = CDec(ActiveCell.Row & "," & ActiveCell.Column)
Range("A2") = CDec(Selection.Rows.Count + ActiveCell.Row - 1 & "," & Selection.Columns.Count + ActiveCell.Column - 1)

Bingo! Det var lige præcis det, jeg ville opnå. Jeg skal vist lige bruge lidt tid på at forstå din kode, men den virker Smile

Tusind tak for hjælpen!
Til top
 Besvar Besvar

Skift forum Forum tilladelser Se dropdown

© 2010 - 2024 Dansk Regneark Forum - en del af Excel-regneark.dk