Hvis du kan opbygge en lille model af Kunde data arket og et produktark - sender det (@-adresse under min profil)- så skal jeg prøve at konstruere en makro, der kan klare det.
Jeg syntes du skal overveje muligheden for at portere jeres kunde-ark system til en database. Uanset størrelsen på jeres firma og antallet af varer. Det vil gøre den slags sammenkørsler meget lettere, uden brug af makroer. I jeres tilfælde kunne jeg forestille mig, at I har problemer med flere udgaver af samme excel-fil, fejlstavede varenumre, kunde-dubletter osv., problemer som i vid udstrækning kan undgås med en database. Og det kan gøres med bare en lille Access-database, hvis firmaet ikke er så stort.
Jeg har engang arbejdet et sted, hvor der var n antal klinikker, fordelt over det meste af landet. I hver klinik sad en sekretær med et regneark, på et netværksdrev, og tastede patienter ind, som der skulle søges tilskud til fra en kommune, samt om de havde modtaget tilskuddet. Hvordan tror du det gik? Der var n antal regneark (ikke blot faneblade), med hver deres små afvigelser fra hinanden i design. Data blev tastet ind, nogle gange 2 personer på én gang hvorefter nogle data gik tabt. Der var ikke styr på dataformaterne, så cpr-numre blev ikke indtastet ensartet ej heller kommunerne blev stavet rigtig hver gang. Pointen med historien? Hvis de havde brugt en database, var der restriktioner på formatet af cpr-numre, kommunerne skulle passe med en central liste af kommuner, flere personer kunne bruge databasen på én gang uden at overskrive hinandens rettelser. Og mht. dataudtræk, så var det nemt og hurtigt at lave en sammenkørsel på den enkelte kommune for at se hvad der er søgt og ydet, om patienterne havde søgt hos flere kommuner osv.
Mrgumble: Jeg ville også helst lave en Access database, men det må jeg ikke for dem som skal bruge arket, da de ikke kan finde ud af Access, så må finde en løsning i Excel.
Jeg bliver lige nødt til at undertrykke noget "Arrghh, arrggh, arrggghh!" når jeg læser det. Og jeg gætter på, at chefen er en af dem der ikke kan finde ud af at bruge Access, for ellers skulle han kunne trumfe det igennem af hensynet til at undgå fejl - ikke de ansattes modvilje mod at lære noget nyt. Jeg føler med dig. :)
Mht. Kommentar/svar på Eksperten.dk, så anvendes "Svar" kun når man har et svar på løsningen, ikke når man som spørger svarer på et spørgsmål. Når du nu har indsat et svar, vil folk på oversigten kunne se, at der er et potentielt accepteret løsning (dit spørgsmål er markeret med en gul prik) og derfor muligvis ikke gide kigge indenfor. Så Svar - kun til løsningsforslag og pointgivning! :)
Rem Koden anbringes under ark for KundeMaster Rem Kan aktiveres med Alt+F8 Afspil "opretProduktFaner" Rem =================================================== Rem Vedr. KundeMasterArk Const kundeMasterFaneNavn = "Master" '<-- evt. tilpasses Dim masterArk As Worksheet Dim antalRæk As Long, ræk As Long, produkt As String
Rem Vedr. Produktark Dim produktArk As Worksheet Public Sub opretProduktFaner() Application.ScreenUpdating = False
Set masterArk = ActiveWorkbook.Sheets(kundeMasterFaneNavn) masterArk.Activate antalRæk = ActiveCell.SpecialCells(xlLastCell).Row
For ræk = 2 To antalRæk produkt = Range("I" & ræk) If erProduktFaneOprettet(produkt) = False Then opretProduktFane produkt End If
Set produktArk = ActiveWorkbook.Sheets(produkt) indsætMasterRække ræk, produkt
MsgBox ("Oprettelse afsluttet") End Sub Private Function erProduktFaneOprettet(produkt) Dim ark As Worksheet For Each ark In ActiveWorkbook.Sheets If ark.Name = produkt Then erProduktFaneOprettet = True Exit Function End If Next ark erProduktFaneOprettet = False End Function Private Sub opretProduktFane(produkt) ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count) ActiveSheet.Name = produkt
Rem Indsæt overskrift masterArk.Rows("1:1").Copy ActiveSheet.Paste Application.CutCopyMode = False
End Sub Private Sub indsætMasterRække(ræk, produkt) Dim antalRæk As Long masterArk.Rows(ræk & ":" & ræk).Copy
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.