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


Emne lukketOpslag/referenser

 Besvar Besvar Side  12>
Forfatter
ZXCVB Se dropdown
Bronze bruger
Bronze bruger
Avatar

Medlem: 12.Mar.2012
Land: DK
Status: Offline
Point: 92
Direkte link til dette indlæg Emne: Opslag/referenser
    Sendt: 12.Mar.2012 kl. 20:31
Problembeskrivelse:
   kol.: C2:C999  - Varebeskrivelse
                             - 250 g Karat Instant i glas
                             - 250 g Karat Instant i pose
                             - bundt persille
                             - Flydende håndsæbe Palmolive
                             osv.

   Kol. :  H2:I1500  "pluknavn" og konto
                               - Karat                     15
                               - Gulerødder             13
                               - Persille                   13
                               - Pilsner                    73
                                osv.

Jeg vil i  kol B1:B999  placer det sandsynlige kontonummer ud fra "pluknavn"

Mvh

Knud


Med venlig hilsen

Knud Evendorff
Til top



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: 13.Mar.2012 kl. 19:50
Sub opSlag()
For Each t In Range("C2:C999")
For Each c In Split(t, " ")
If Application.CountIf(Range("H2:H1500"), c) Then
t.Offset(0, -1) = Range("H2:H1500").Find(c, LookIn:=xlValues).Offset(0, 1)
End If
Next
Next
End Sub
 
Aktiver dit ark og kør kode
Hvis en kode indgår i varebeskrivelsen, indsættes tilhørende konto nr
Jeg anvender Excel 2016 DK. Hvad anvender DU ? HUSK TILBAGEMELDING !!!
Til top
ZXCVB Se dropdown
Bronze bruger
Bronze bruger
Avatar

Medlem: 12.Mar.2012
Land: DK
Status: Offline
Point: 92
Direkte link til dette indlæg Sendt: 13.Mar.2012 kl. 20:57
Tak for dit svar.

Jeg kan desværre ikke VBA. Jeg kan godt læse din kode, men jeg ved ikke  hvordan jeg 
implementerer koden ind i arket. 

Opgavens baggrund. Jeg har et stort privat økonomisystem (budget,kontrol,analyser). Der registrerer
jeg alle køb (det er ikke så besværligt). Jeg har nu lavet et indkøbsstystem; hvor jeg gennemgår
 Net tilbudsaviser. Danner indkøbslister fra "indkøbsvognene". 
Ud fra mine nøgler, vil jeg nu danne forslag til kontering til økonomisystem : konto, beløb.

Mvh 

Knud  anvender office 2000 
Med venlig hilsen

Knud Evendorff
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: 13.Mar.2012 kl. 21:52

For at komme ind i VBA.editoren, taster du ALT+F11
Vælg Module i menuen Insert
Indsæt koden i vinduet til højre
ALT+q bringer dig tilbage til Arket

Tast ALT+F8
Vælg makronavn "opSlag"
Klik afspil

Jeg anvender Excel 2016 DK. Hvad anvender DU ? HUSK TILBAGEMELDING !!!
Til top
ZXCVB Se dropdown
Bronze bruger
Bronze bruger
Avatar

Medlem: 12.Mar.2012
Land: DK
Status: Offline
Point: 92
Direkte link til dette indlæg Sendt: 14.Mar.2012 kl. 16:26
Jeg har fået det til at køre ..

  Kan du hjælpe med følgende :
  -  Hvis søgeord stater i pos. 1 i varebetegeneslen virker det ikke.
     Ost 45% danbo - fanges ikke
     Danbo ost 45% - OK
  - Når der findes et match gå til næste Bx
  - VBA'en skal starte med slette alle gamle Cx værdier
  - der må gerne sluttes med PF9 (manuel opdat)
-------------------------------------------------------------------------------

Når jeg editere i projektet får jeg : The Macros in this projekt are disabled. Det passer ikke- jeg har åbnet
det med Macro.

Projektet kører med run manuelt PF9.  Det laver samme error som ovenfor.

Jeg kan lave en genvej til at state macro opslag, men kan jeg lave/få en knap der submitter opslag.

På forhånd tak.

Knud
  
Med venlig hilsen

Knud Evendorff
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: 14.Mar.2012 kl. 20:02
Den finder nu fint første søgeord i mine test
Vær opmærksom på at Ost i varebeskrivelse ikke fanger Oste i plukkenavne
 
Prøv lige at teste om alle ord i problematiske  celler vises med følgende kode
 
Sub test()
For Each c In Split(ActiveCell, " ")
MsgBox c
Next
End Sub
 
Du kan indsætte en knap fra Formular-menuen og linke denne til koden
 
Hvad er Bx Cx og PF9 ?
Jeg anvender Excel 2016 DK. Hvad anvender DU ? HUSK TILBAGEMELDING !!!
Til top
ZXCVB Se dropdown
Bronze bruger
Bronze bruger
Avatar

Medlem: 12.Mar.2012
Land: DK
Status: Offline
Point: 92
Direkte link til dette indlæg Sendt: 15.Mar.2012 kl. 22:11
Jeg hae nu fået lavet en test, som virker hele vejen, men jeg har været gennem nogle
sjove varianter f. eks. leverpostej gav match til ost. 
Min notation Bx, Cx ref. til kol. : B/C og række x .

Jeg er løbet ind i et andet og være problem. Projektet er meget stort (nok også lidt overdrevet).
Jeg har 16 Ark til butikker, med 5000 rækker i hver, fordi jeg vil gemme historikken. Det giver i alt
et projekt på godt 70 MB. Før jeg begyndte med VBA macro, kunne jeg åbne/lukke på max 8 sek. Nu tager 
det en halv krig- op til omkring 80 sek. Det kan vel kaldes for macro virus. Selv hvis jeg afinstaller
macro'en tager det stadig 80 sek. (jeg har heldigvis en ren kopi).

Disken knurrer og knokler bare helt vildt. Macroen skal arbejde i et ark, som i alt udgør under 1 %
af projekt volumen.
Jeg ved ikke, hvordan produktet er skruet sammen, men en macro, er vel bare et hjælperedskab, som
ligger i sit eget libary.

Har du et bud på afhjælpning. Hvis ja, må du også gerne give koden til Nulstil af Cx.

mvh

Knud 

Med venlig hilsen

Knud Evendorff
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: 16.Mar.2012 kl. 19:24
Hvordab fik du den til at finde første ord ???
 
Ja ost findes jo i leverpOSTej, denne skulle tage højde for dette
mener du ikke nulstilling af Bx i stedet for Cx ???
 
Sub opSlag()
Range("B2:B1500") = "" ' sletter kolonne B ved kørsel
For Each t In Range("C2:C999")
For Each c In Split(t, " ")
If Application.CountIf(Range("H2:H1500"), c) Then
t.Offset(0, -1) = Range("H2:H1500").Find(c, LookIn:=xlValues, lookat:=xlWhole).Offset(0, 1)
End If
Next
Next
End Sub
 
16 ark med 5000 rækker data er jo en del, men 80 sek lyder dog til at være lidt for sløv
Hvad dette skyldes ved jeg ikke, men makroen fylder kun ganske lidt, så det er ikke her problemet er.
 
du kan evt prøve at sende filen
Jeg anvender Excel 2016 DK. Hvad anvender DU ? HUSK TILBAGEMELDING !!!
Til top
ZXCVB Se dropdown
Bronze bruger
Bronze bruger
Avatar

Medlem: 12.Mar.2012
Land: DK
Status: Offline
Point: 92
Direkte link til dette indlæg Sendt: 17.Mar.2012 kl. 12:06
Fejlen med OST var en alfa num. blank. Hvad mine andre problemer angår, har jeg ikke noget bud, men
jeg har tillid til koden gør det samme hver gang. Så jeg dikterer selv nogle fejl, som jeg ikke kan gennemskue.

Jo, jeg mener Bx. Det virker fint.

Jeg enig i, at makroen isoleret set ikke er årsagen.
 
Mere til baggrund : Jeg blev sur over, at skulle give 145,- kr, kg for Riberhus ost, når der samtidig køres tilbud på
samme vare til 50,- kr./kg. Dette gælder mange varer, som kan købes til helt andre priser.
Jeg har tre katagorier :
  - kort holdbarhed (grønt, fersk kød)
  - mellemlang holdbarhed (ost)
  - Lang holdbarhed (vaskemiddel, konserves, etc-)

Jeg fandt hurtig ud af, at læse tilbudsaviser ikke er nogen fornøjelse, men skal overstås effektivt hurtigst
mulig. Derfor blev det til, at hver forretning fik eget ark, og jeg vil ikke slette tidligere opdateringer. Der er
plads til flere forretninger end mit eget behov tilsiger. De 16 forretninger blev valget.

Du skriver, at jeg kan dende dig filen, men hvordan gør jeg det? den er på 78 MB.

mvh 

Knud
Med venlig hilsen

Knud Evendorff
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: 17.Mar.2012 kl. 15:31
Nej det kan jeg godt følge dig i.
Så sender du bare en række af gangen :-)
 
Nå spøg til side.
 
Uanset hvad så fylder så mange data jo en del, om vi kan slanke filen beror på om der er færre data end Excel tror.
Du kan teste dette ved at taste [CTRL]+[HOME] og herefter [CTRL]+[END]
Noter dig række og kolonne nummer.
Hvis der er mange tomme rækker imellem dine data og rækkenummer du noterede, kan du slette disse tomme rækker.
Hvis der er mange tomme kolonner imellem dine data og kolonnenummer du noterede kan disse slettes.
Med andre ord Stil dig i rækken lige under dine data og slet alle resterende rækker nedad.
samme med kolonner.
 
Gem og luk
Håber det hjælper lidt.
 
Jeg anvender Excel 2016 DK. Hvad anvender DU ? HUSK TILBAGEMELDING !!!
Til top
ZXCVB Se dropdown
Bronze bruger
Bronze bruger
Avatar

Medlem: 12.Mar.2012
Land: DK
Status: Offline
Point: 92
Direkte link til dette indlæg Sendt: 20.Mar.2012 kl. 21:33
Jeg har fået reduceret projektet med omkring 25% men det gav højest 5 sek. i luk ned tid.

Jeg har arbejdet lidt med opbygning af BASEN med navne/betegnelser. Det virker rigtig godt, og
jeg vil afgjort bruge projektet til indkøbslister/regnskabskontering. Jeg vil jo kun bruge det højest
en gang om ugen, så luk ned tiden er mere en irritation, end et praktisk problem.

Har du mod/lyst til VBA mere. Det drejer sig om, at indkøbslisten skal udskrives sorteret efter butik/varegruppe.
Jeg har dannet en parameter pr. varelinie, som så skal tildeles løbenummer fra 1 til 176 (max varer).
                 celle             celle
               I5:I181         J5:J185                   
              VBA celle      parameter
                    6             309014
                    4             309013
                    1             309011
                    2             309011
                    5             309013
                   10            309071
                    7             309017
                   11            909121
                    9             909018
                    8             909017
                    3             909011  

Rækkefølgen indenfor samme parameternummer er ligegyldig.

Maks tal parameter 310000.
                                  
Det helt  Ok, hvis du melder fra.

mvh

Knud


                                 
             
 
                 

Med venlig hilsen

Knud Evendorff
Til top
ZXCVB Se dropdown
Bronze bruger
Bronze bruger
Avatar

Medlem: 12.Mar.2012
Land: DK
Status: Offline
Point: 92
Direkte link til dette indlæg Sendt: 21.Mar.2012 kl. 02:57
Det er et torske dumt eksempel. Det skal være således:

                 celle             celle
               I5:I181         J5:J185                   
              VBA celle      parameter
                    5             309014
                    3             309013
                    1             309011
                    2             309011
                    4             309013
                    7             309071
                    6             309017
                   11            909121
                   10            909018
                    9             909017
                    8             909011  

mvh 

Knud
Med venlig hilsen

Knud Evendorff
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: 21.Mar.2012 kl. 07:49
Forstår ikke lige hvad du mener
Jeg anvender Excel 2016 DK. Hvad anvender DU ? HUSK TILBAGEMELDING !!!
Til top
ZXCVB Se dropdown
Bronze bruger
Bronze bruger
Avatar

Medlem: 12.Mar.2012
Land: DK
Status: Offline
Point: 92
Direkte link til dette indlæg Sendt: 21.Mar.2012 kl. 11:40
Jeg skal prøve, med lidt uddybning,

Udgangspunkt var at tildele kontonummer til varer på indkøbslisten. Det er på plads nu (VBA-macro), og
det virker glimrende. 

Jeg fik så den tanke, at indkøbslistens rækkefølge dannes ved klik på Net avisen. Varelinjerne bliver
nemt i en tilfældig orden, og det vil jeg gerne lave om på.  

Jeg har et et ark, som er designet til print  
Printlinjer skal være sorteret i butiknr./varegruppe/-
Der maks. 16 butikker (1-16)
varegruppe/kontonr. :  konto 10 Fødevarer generelt (bruges ikke i praksis)
                                     "     11  Slagtervarer
                                     "     12  mejerivarer
                                     "     13  Grønt
                                     "     14  Brød og lignende
                                            -
                                            -
                                     "     21  Toilet artikler
                                     "     3x  Personlige
                                   osv.


I arket med kontonr har jeg  fået dannet en parammeter. som i stigende orden viser rækkefølgen for
linjerne i udskriftsarket (hentes ved opslag).
De 3 sidste tal i parameteren er varegruppen(kontonr) - 10 til 999

 Parameteren er ikke endelig fastligt men bliver formentlig 6 cifret.
     ciffer 1-3 varegruppe : min. 10, maks. 999
     ciffer 4-6 styretal       : hver butik har samme tal i ciffer 4-6. 
                                       Der er ingen betydning i styretal, men det skal kunne håndtere op til 16 butikker
                                       i samme indkøbsliste (dog ikke i praksis).

Jeg vover at lave en ny model
                                  løbnr.            Parameter
                                I5:I177             J5:J177
                -----------------------------------------------
                                   1                    80011
                                   8                    80017
                                   9                    80071
                                   4                    80013
                                   5                    80013
                                   7                    80015
                                   2                    80011
                                   6                    80014
                                   3                    80011 
                                  13                  112071      ny butik
                                  12                  112013 
                                  10                  112011
                                  11                  112011
                                                        osv.

Selv om samme parameternr. kan forkomme mange gange- tildeles løbenr. stigende.

Mvh.

Knud




Med venlig hilsen

Knud Evendorff
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: 21.Mar.2012 kl. 13:07
Hvis din tabel (alle kolonner/rækker incl. evt. overskrift) må sorteres så:
Marker din tabel, sorter efter Parameter-kolonne (J) - stigende
Så er det blot at indtaste 1,2,3 osv... i kolonne (I)
 
Hvis din tabel ikke må sorteres, så:
Indtast 1,2,3 osv... i næste ledige kolonne til højre for din tabel
Marker din tabel incl. den nye kolonne
Sorter efter Parameter-kolonne (J) - stigende
Så er det blot at indtaste 1,2,3 osv... i kolonne (I)
Marker din tabel incl. den nye kolonne
Sorter efter ny-kolonne - stigende
 
 
Jeg anvender Excel 2016 DK. Hvad anvender DU ? HUSK TILBAGEMELDING !!!
Til top
ZXCVB Se dropdown
Bronze bruger
Bronze bruger
Avatar

Medlem: 12.Mar.2012
Land: DK
Status: Offline
Point: 92
Direkte link til dette indlæg Sendt: 22.Mar.2012 kl. 21:39
Jeg gjorde i princippet som du foreslog.

  Jeg gjorde følgende :

    1) sammenkædning(parameter;varetekst)  

     2) indspillede macro :
         -copy den under 1) kolonne
         -indsæt specielt/værdier i kol. ap5
         -Sorter kol. ap5:aq177  (variabel i aq er et sorterkrav, men ligegyldig her)
            - I kol. ar fra række 5 står tallene 1 til 173 
         - opdater  (PF9 submit : dan udskriftrækkefølgen af varelinjer)
         - musen til f3
        stop indspilning.

      3) Det kører godt hver gang, incl. uden varelinjer at udskrive og alle linjer at udskrive.

Så ok!

Men når jeg arkbeskytter, går det galt 
Hele den indspillede kode:

   Sub sorterUdskrift()
'
' sorterUdskrift Makro
' Makro indspillet 22-03-2012 af bruger
'

'
    ActiveWindow.SmallScroll Down:=-6
    Range("I5:I177").Select
    Selection.Copy
    ActiveWindow.SmallScroll ToRight:=13
    ActiveWindow.SmallScroll Down:=-138
    Range("AP5").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Range("AP5:AQ177").Select
    Application.CutCopyMode = False
    Selection.Sort Key1:=Range("AP5"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
    ActiveWindow.LargeScroll Down:=-4
    ActiveWindow.SmallScroll ToRight:=-13
    Calculate
    Range("F3").Select
End Sub


Den slår ud med fejl i disse linjer :
 Selection.Sort Key1:=Range("AP5"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

Har du et bud på, hvad der går galt?

mvh

Knud
 

Med venlig hilsen

Knud Evendorff
Til top
ZXCVB Se dropdown
Bronze bruger
Bronze bruger
Avatar

Medlem: 12.Mar.2012
Land: DK
Status: Offline
Point: 92
Direkte link til dette indlæg Sendt: 22.Mar.2012 kl. 21:48
Jeg glemte at skrive at fejlmeddelelsen er :

 Can't execute code in break mode.


mvh

Knud
Med venlig hilsen

Knud Evendorff
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: 23.Mar.2012 kl. 09:55
Hej Knud
Break mode anuleres ved at klikke på den firkantede Reset knap i VBA-editoren
(lige under menupunktet Tools), men det løser jo nok ikke det grundlæggende problem
 
Kan du ikke sende et reduceret ark med 20-30 rækker, så kikker jeg på det
Jeg arbejder jo i blinde her Cool
Jeg anvender Excel 2016 DK. Hvad anvender DU ? HUSK TILBAGEMELDING !!!
Til top
ZXCVB Se dropdown
Bronze bruger
Bronze bruger
Avatar

Medlem: 12.Mar.2012
Land: DK
Status: Offline
Point: 92
Direkte link til dette indlæg Sendt: 23.Mar.2012 kl. 18:00
Hej Poul..

Jeg er ikke sikker på, at jeg forstår teknikken mht. til at vedhæfte en xls fil.

Jeg gjorde følgende:
 aktiverede fil ikon
 fandt fil på disken  (fylder godt 30 K)
 upload  fil / jeg mener jeg fik en kvittering?

Har du fået filen, for jeg kan ikke se noget i denne besked,

Mvh

Knud
Med venlig hilsen

Knud Evendorff
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: 23.Mar.2012 kl. 18:34
ikke endnu
Jeg anvender Excel 2016 DK. Hvad anvender DU ? HUSK TILBAGEMELDING !!!
Til top
 Besvar Besvar Side  12>

Skift forum Forum tilladelser Se dropdown

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