01. februar 2001 - 16:39Der er
9 kommentarer og 1 løsning
Kode til opslag
Jeg har i kolonne A en række tal 1, 2, 3, 4 .... (begyndende fra celle A1). I en anden celle har jeg f.eks. værdien \"3\".
Hvordan får jeg (ved hjælp af kode) markøren til at placere sig på 3-tallet og så gå en tak til højre - altså placere sig i celle B3? Hvis værdien var \"4\" skal markøren så fremdelses stille sig i celle B4.
Kan du ikke lige fortælle, om du er igang med et gennemløb af cellerne i A-kolonne, og i den forbindelse vil smide værdier i B-kolonnen, eller om det er når du indtaster noget i A-kolonnen, at den så skal hoppe til en celle i B-kolonnen, svarende til den indtastede værdi.
Hvis du efter indtastning i f.eks. celle A2 skal hoppe til en cell i kolonne B og det indtastede tals række, så kan du følgende kode, som skal placeres på arkets eget kodeark.
Private Sub Worksheet_Change(ByVal Target As Range) Dim rJump1 As Range
Set rJump1 = Range(\"A2\")
If Not Intersect(Target, rJump1) Is Nothing Then Range(\"B\" & rJump1.Value).Select End If
Set rJump1 = Nothing End Sub
Du kan evt. lave datavalidering på indtastningscellen, så der kun kan indtastes HELTAL i cellen.
Det kan være koden hjælper, selv om det er noget andet du laver kan du nok bruge en af disse her:
Det er ikke LOPSLAG jeg er ude efter. Selv om det er en stærk funktion er den lidt for enkel her.
I det jeg søger er det nødvendigt med en kode, fordi der ikke nødvendigvis skal ske nogen aktivitet når cellerne forandres.
Jeg prøver at uddybe: I række 1 står der en lang række formler, som henter værdier rundt omkring. Disse skal, når jeg kører en makro, kopieres ned (kun værdier) til en given række. Hvilken række afhænger af et tal fra et helt andet sted, som skal svare til den værdi som står i kolonne A. Kolonne A indeholder således nøglen til mine datasæt. For ikke at overskrive nøgleværdierne skal markøren lige hoppe en celle til højre inden værdierne kopieres. Er værdien \"et helt andet sted\" f.eks. 3, skal makroen finde denne værdi i kolonne A (som er en lang sorteret talrække) og rykke ud i kolonne B og derefter kopiere værdierne fra formlerne i række 1.
Håber at dette sammenholdt med min første forklaring giver lidt mening.
hehe - jeg er stadig ikke helt med - hehe Skal makro\'en løbe alle celler i kolonne A igennem, for at placere cellens værdi i kolonne B række A-cellens værdi ? eller er det kun for enkelte celler ?
Her er et eksempel, hvis det er alle celler i A, hvor jeg går udfra, at der ingen tomme celler findes i din rækkefølge, idet du siger de er sorteret.
Dim rCell As Range For Each rCell In Worksheets(\"Ark1\").Range(\"A1:A65536\") If rCell.Value = \"\" Then Exit For Range(\"B\" & rCell.Value).Value = rCell.Value Next rCell
Hvis ikke jeg rammer rigtigt, så er du velkommen til at sende mig regnearket. flemse@post3.tele.dk
Private Sub CommandButton1_Click() Dim rCell As Range Dim bFound As Boolean Dim iRowNo As Integer Dim iX As Integer
For Each rCell In Range(\"A4:A10000\") If rCell.Value = \"\" Then Exit For If rCell.Value = Range(\"A1\").Value Then bFound = True iRowNo = rCell.Row Exit For End If Next rCell
If bFound = True Then iX = 1 For Each rCell In Range(\"B3:N3\") iX = iX + 1 Range(Cells(iRowNo, iX), Cells(iRowNo, iX)).Value = rCell.Value \'rCell.Value = \"\" Next rCell End If End Sub
hvis cellerne i B3:N3 skal være tomme efterfølgende, så skal du fjerne plinket (\') foran rCell.Value = \"\"
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.