Forfatter |
Emne Søg Emne funktioner
|
ZXCVB
Bronze bruger
Medlem: 12.Mar.2012
Land: DK
Status: Offline
Point: 92
|
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
|
|
|
|
|
excelent
Guld bruger
Medlem: 12.Apr.2011
Land: DK
Status: Offline
Point: 2171
|
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 !!!
|
|
ZXCVB
Bronze bruger
Medlem: 12.Mar.2012
Land: DK
Status: Offline
Point: 92
|
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
|
|
excelent
Guld bruger
Medlem: 12.Apr.2011
Land: DK
Status: Offline
Point: 2171
|
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 !!!
|
|
ZXCVB
Bronze bruger
Medlem: 12.Mar.2012
Land: DK
Status: Offline
Point: 92
|
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
|
|
excelent
Guld bruger
Medlem: 12.Apr.2011
Land: DK
Status: Offline
Point: 2171
|
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 !!!
|
|
ZXCVB
Bronze bruger
Medlem: 12.Mar.2012
Land: DK
Status: Offline
Point: 92
|
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
|
|
excelent
Guld bruger
Medlem: 12.Apr.2011
Land: DK
Status: Offline
Point: 2171
|
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 !!!
|
|
ZXCVB
Bronze bruger
Medlem: 12.Mar.2012
Land: DK
Status: Offline
Point: 92
|
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
|
|
excelent
Guld bruger
Medlem: 12.Apr.2011
Land: DK
Status: Offline
Point: 2171
|
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 !!!
|
|
ZXCVB
Bronze bruger
Medlem: 12.Mar.2012
Land: DK
Status: Offline
Point: 92
|
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
|
|
ZXCVB
Bronze bruger
Medlem: 12.Mar.2012
Land: DK
Status: Offline
Point: 92
|
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
|
|
excelent
Guld bruger
Medlem: 12.Apr.2011
Land: DK
Status: Offline
Point: 2171
|
Sendt: 21.Mar.2012 kl. 07:49 |
Forstår ikke lige hvad du mener
|
Jeg anvender Excel 2016 DK. Hvad anvender DU ? HUSK TILBAGEMELDING !!!
|
|
ZXCVB
Bronze bruger
Medlem: 12.Mar.2012
Land: DK
Status: Offline
Point: 92
|
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
|
|
excelent
Guld bruger
Medlem: 12.Apr.2011
Land: DK
Status: Offline
Point: 2171
|
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 !!!
|
|
ZXCVB
Bronze bruger
Medlem: 12.Mar.2012
Land: DK
Status: Offline
Point: 92
|
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
|
|
ZXCVB
Bronze bruger
Medlem: 12.Mar.2012
Land: DK
Status: Offline
Point: 92
|
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
|
|
excelent
Guld bruger
Medlem: 12.Apr.2011
Land: DK
Status: Offline
Point: 2171
|
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
|
Jeg anvender Excel 2016 DK. Hvad anvender DU ? HUSK TILBAGEMELDING !!!
|
|
ZXCVB
Bronze bruger
Medlem: 12.Mar.2012
Land: DK
Status: Offline
Point: 92
|
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
|
|
excelent
Guld bruger
Medlem: 12.Apr.2011
Land: DK
Status: Offline
Point: 2171
|
Sendt: 23.Mar.2012 kl. 18:34 |
ikke endnu
|
Jeg anvender Excel 2016 DK. Hvad anvender DU ? HUSK TILBAGEMELDING !!!
|
|