Avatar billede Sandra1234 Mester
23. maj 2019 - 12:42 Der er 7 kommentarer og
1 løsning

Makro søge efter værdi

Hej alle,

Håber i kan hjælpe!

Jeg sidder og leger med en makro, som skal:
1. kopiere en celles værdi
2. gå over i et andet ark
3. søge efter den kopierede værdi i arket (i en tabel)
4. gå tilbage til første ark
5. indsætte værdien i den oprindelige celle

Umiddelbart lyder det omsonst, fordi den jo vil indsætte dne samme værdi som allerede står i cellen, men det er af en eller anden grund nødvendigt, for at en udregning kan laves.

Cellen hvor værdien står og kopieres fra og herefter sættes ind er i celle D25
Det første ark hvor D25 er i, kalder vi Ark1
Det andet ark der skal søges i, kalder vi Ark2

Når jeg har forsøgt at indspille en makro, så søger den altid efter den samme værdi.

VBA koden jeg får ved at indspille er således:

Sub Makro4()
'
' Makro4 Makro
'

'
    Range("D25").Select
    Selection.Copy
    Sheets("VareFlow").Select
    Cells.Find(What:="151148", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Kapacitetsforespørgsel").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub



Hvor 151148 er den værdi som den altid søger efter, men det skal ikke være den, men den man har kopieret fra D25.

Det skal være muligt at skrive forskellige tal i D25, da det fungerer som et søgefelt.
Avatar billede Sandra1234 Mester
23. maj 2019 - 12:44 #1
Hov kopierede den ind med mine navngivne ark..

Kapacitetsforespørgsel = Ark1
Vareflow = Ark2
Avatar billede Dan Elgaard Ekspert
23. maj 2019 - 13:29 #2
Hvis det blot er fordi, du vil have gen-beregnet dit regneark, kan du bare indsætte denne linje i din kode:

Application.CalculateFullRebuild
Avatar billede Sandra1234 Mester
23. maj 2019 - 14:27 #3
Hmm.. Det hjælper mig ikke rigtig.

Det skal gerne være en celle som der henvises til i koden, hvor der står:
Cells.Find(What:="151148"

Der skal der i stedet for 151148 stå en celle, så den ikke er "statisk".
Avatar billede store-morten Ekspert
23. maj 2019 - 16:51 #4
Prøv denne, med med fejl behandler, hvis der ikke findes et match:
Sub Makro4()

Range("D25").Select

Emne = ActiveCell

On Error GoTo ErrorHandler

    Sheets("VareFlow").Activate
   
    Cells.Find(What:=Emne, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate
       
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Kapacitetsforespørgsel").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
       
ErrorHandler:
Sheets("Kapacitetsforespørgsel").Select
    MsgBox "Ingen match fundet"
End Sub
Avatar billede Sandra1234 Mester
24. maj 2019 - 08:19 #5
Tusind tak for det store-morten - Jeg har testet den med forskellige værdier og fungerer bare helt perfekt!
08. februar 2021 - 10:40 #6
jeg står i et næsten lignende problem, men svaret her er ikke helt løsningen..

jeg ønsker en makro der tager Værdien fra E5 i ark1 og finder den værdi der matcher Ark1!E5 med værdierne i ark2 kolonne G:G når den har funder matchet skal den forblive på Matchets placering så jeg kan se den fysisk, så jeg selv kan se og ændre i den.

vh Excel Styrmanden
08. februar 2021 - 11:39 #7
Range("E5").Select

    Emne = ActiveCell


    Sheets("BYGDER").Activate
 
    Cells.Find(What:=Emne, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate
08. februar 2021 - 11:39 #8
fandt ud af det kun var den bid jeg skulle bruge
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester