Print side | Luk vindue

Lille Macro/formel

Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Makro og VBA
Forum beskrivelse: Hjælp til Makroer og VBA-programmering
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=221
Udskrevet den: 14.Maj.2024 kl. 16:43


Emne: Lille Macro/formel
Besked fra: Bjarne
Emne: Lille Macro/formel
Posteringsdato: 03.Feb.2011 kl. 15:25
Haves: problem Cry
 
Ønskes: Hjælp til; Embarrassed
 
 Står f.eks. i Ark 1 celle D6 hvori jeg beder om at sætte hus nr. 101 i celle D7 og tryk <Enter>
 
Nu vil jeg gerne have, at ved en macro hopper over i et andet Ark og søger efter det tilsvarende tal som står i f.eks. Ark 2 celle H87.
 
Cellen skal hverken ændres, slettes eller erstattes, men curseren skal stille sig i cellen til højre klar til indtastning.
 
Har forsøgt forskellige mulighed uden held.
 
Dette skal bruges for at forenkle medlemsregistreringer til en Generalforsamling.
 
Håber at jeg kan hjælpes Clap
 
Mvh
Bjarne



Svar:
Besked fra: Allan
Posteringsdato: 03.Feb.2011 kl. 17:08
Hej Bjarne,
 
Selvfølgelig kan du hjælpes LOL
 
Hvis du har forsøgt, antager jeg at du ved lidt om makroer.
 
Du skal sætte denne kode ind i det ark (Ikke et modul, men i arket) som du bruger til at taste i.
Det er naturligvis vigtigt at arket bliver åbnet med makroer aktiverde.
 
Du skal korrigere de variable som er i koden.
FindearkNavn er det ark som koden skal 'Hoppe' til
FindeOmraade er det område koden skal finde et match på FindeArknavn
Tastekolonne er den kolonne du taster i (A=1, B=2 osv.)
TasteØversteRække er den øverste række i det område du taster i
TasteSidsteRækker er den nederste rækker i det område du taster i
 
 
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)

Dim FindearkNavn, Findeomraade As String
Dim Tastekolonne, TasteØversteRække, TasteSidsteRække As Integer
Dim c As Variant
On Error Resume Next
FindearkNavn = "Ark2"
Findeomraade = "A1:A100"
Tastekolonne = 4
TasteØversteRække = 6
TasteSidsteRække = 20
 
If Target.Column = Tastekolonne And (Target.Row >= TasteØversteRække And Target.Row <= TasteSidsteRække) And Target.Value <> "" Then
    For Each c In Sheets(FindearkNavn).Range(Findeomraade).Cells
        If Target.Value = c.Value Then
            Sheets(FindearkNavn).Activate
            Sheets(FindearkNavn).Range(c.Address).Select
            Exit Sub
        End If
    Next c
End If
End Sub
 
Et eksempel kan ses her: /uploads/1/spring_til_ark.xls - uploads/1/spring_til_ark.xls
 
//Allan


Besked fra: Bjarne
Posteringsdato: 04.Feb.2011 kl. 11:16
Hej Allan,
 
Imponerende at du bare sådan ryster det ud af ærmet. Clap
 
Din Demo virker fortrineligt. Har ændret parameterne som du beskriver.
 
Bare ingen reaktion...nul putte. Ouch
 
Viser lige hvad jeg har ændret;
 
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim FindearkNavn, Findeomraade As String
Dim Tastekolonne, TasteØversteRække, TasteSidsteRække As Integer
Dim c As Variant
On Error Resume Next
 
' Ark 1 = Deltager og Ark2= Forside hvor formlen er sat ind
FindearkNavn = "Ark1"
' Ark 1 (Deltager)Kollonne D Række 4 til 208
Findeomraade = "D4:D208"
' Ark 2 (Forside)Tastekolonne H = 8
Tastekolonne = 8
TasteØversteRække = 6
' Ark 2 (Forside) Tasterække er kun i en celle derfor 6
TasteSidsteRække = 6
 
If Target.Column = Tastekolonne And (Target.Row >= TasteØversteRække And Target.Row <= TasteSidsteRække) And Target.Value <> "" Then
    For Each c In Sheets(FindearkNavn).Range(Findeomraade).Cells
        If Target.Value = c.Value Then
            Sheets(FindearkNavn).Activate
            Sheets(FindearkNavn).Range(c.Address).Select
            Exit Sub
        End If
    Next c
End If
End Sub
 

 
Håber at du kan læse det
MVH
 
Bjarne den  Embarrassed
 
 
 


Besked fra: Allan
Posteringsdato: 04.Feb.2011 kl. 13:21
Hej Bjarne,
 
Det eneste jeg lige kan få øje på, er om dit 'Ark1' rent faktisk hedder 'Ark1' (Det skal være det arknavn som står på selve på fanen, måske hedder det 'Deltager'?)
 
Din konfiguration er følgende.
Når du taster på arket som indeholder koden i cellen H6, vil koden forsøge at finde et match på arket ved navn 'Ark1' i området D4:D208.
 
//Allan


Besked fra: Bjarne
Posteringsdato: 04.Feb.2011 kl. 15:53
Tak !!!!
 
Lidt flov er jeg. Bruger normalt Sheet Select "det døbte navn" Embarrassed Embarrassed Embarrassed
 
Det virker bare Clap
 
Når nu man rækker f..... lillefingeren----ja mere vil have mere
 
Kan jeg få curseren til at blinke medens den står i det fundne felt? det ville bare være frækt. Big smile
 
Er imponeret over din response.
 
Med venlig hilsen
 
Bjarne



Print side | Luk vindue