17. december 2018 - 10:29Der er
20 kommentarer og 1 løsning
VBA kode til kalender.
Hej.
Jeg er ved at lave en opgaveoversigt over mine kundetilbud.
Indtil nu har jeg manuelt lavet en kalender, som i kolonne A37 har kundenavne, og så fra B37 til og med QQ37 har jeg de forskellige opgaver på kunden - altså resten af året og så hele 2019.
opgaverne på kunderne er er inden for 8 forskellige kategorier:
Ansøgning Tilmelding til besigtigelse Besigtigelse Tilbuds fase Spørge frist Tilbuds frist Tildeling Opstart
Det jeg gerne vil er, at jeg vil lave en boks øverst i arket, hvor jeg kan udfylde kundenavn og dato for de forskellige opgavekategorier, så excel selv plotter dataene ind på de rigtige pladser nede i min oversigt/kalender.
Er der nogen, som har et bud på noget kode til sådan en opgave?
Jeg går ud fra, for at få excel til at finde en celle på kryds af kundenavn og dato, at jeg ar nødt til at definere navne for alle kolonner datoerne og kundenavnene står i.
Kan man automatiserer den proces? - der er jo nemlig ret mange datoer, når oversigten dækker over hele 2019.
Hvis jeg skal skrive videre på koden for at fortsætte med de andre punkter; er vi så enige om, at jeg blot skal ændre C3 til C4 og B3 til B4 osv. i dette stykke: If Not Intersect(Target, Range("C3")) Is Nothing Then Dato = Target For Each rCell In rDato If rCell.Value = Dato Then iColumn = rCell.Column Exit For End If Next rCell ws.Cells(iRow, iColumn).Value = ws.Range("B3").Value End If End Sub
Eller hvad? fordi når jeg gør det kan jeg ikke få den til at virke. Derudover skal jeg også spørge om du vil forslå at jeg kopierer koden og sætter den ind længere nede i samme modul og blot ændrer variablerne - eller om jeg skal skrive den ind i et nyt modul hver gang variablerne skal laves om?
jeg har lavet en function ("Tjek") med 3 input variable, på denne måde skal koden kun skrives engang og få så input af Target- og tjekdato- og tekst-Cellen
Hvis jeg gerne i fremtiden vil ændre eller tilføje i mine kategorier, så tilføjer jeg bare en ekstra linje med: Tjek Target, ws.Range("C9"), ws.Range("B9") - og så den nye celle, hvis jeg fx. skal tilføje en kategori mere? :)
Jeg skal også lige høre, fordi lige nu afspiller komandoen/makroen sig i det øjeblik jeg flytter mig fra celle B2 - kan jeg modificere koden, så den først aktiveres når jeg enten trykker afspil makro eller trykker på en given knap?
1. ja 2. det kan man godt så skal koden bare ændres lidt 3. jeg har lavet en ver hvor man låses til kun at kunne taste i indtastningscellerne hvis knap stå på "Tab til" https://1drv.ms/x/s!AmlqgsyjsAq5hZENMowxV94ZZoVonA
Skal jeg prøve at lave en der er med knap og skal 3. være med?
I mit endelige produkt forestiller jeg mig, at jeg har en knap, som afspiller min makro. Jeg forestiller mig også, at den selv sletter indholdet i cellerne: B2:B9 og C3:C9 - når de er indsat i arket nedenunder.
Yderligere ville jeg gerne hvis dataene som bliver indsat nede i arket under, er samme format som den tekst der står i de respektive celler til venstre: A3:A9. - Kan se du allerede har fikset farven på cellen, men teksten og kanten måtte også gerne være det samme.
Dertil har jeg et sidste spørgsmål - hvordan kan jeg gøre det, hvis jeg har en begivenhed som strækker sig over flere datoer? fx: besigtigelse fra d.07/10/2018-13/10/2018.
1. Format kan fikses!! 2. ang, fleredatoer er vi ude i flet celler som kan være problematiske 3. Hvad med rettelser/sletning? 4. skal det være så kun celler b2:B9 og C3:C9 skal kunne skrives i / bruge Tab/Enter til at komme fra den ene celle til den næste?
Vil gerne have så stor viden så jeg ikke laver kode der giver problemer senere!!
Jeg er er ikke helt med på hvad du spørger om angående rettelser/sletning.
Og hvis jeg har forstået spørgsmål 4 rigtigt - så er det meningen at det kun er cellerne B2-B9 og C3-C9 der sendes ned i arket ja - men arket skal ikke nødvendigvis være låst, så det kun er de nævnte celler man kan skrive i, nej.
De formateringer evt fletninger er svære at komme af med, så når de er overført med din knap så vil jeg gerne vide om det skal være sådan at hvis du skriver kunden igen for at rette eller slette oplysninger, er det en situation jeg skal tage højde for?
B2-B9 overføres C3-C9 bruges til at finde kolonnen hvor B3-B9 skrives!!
Der opstod fejl i metoden 'Run' for objektet 'cmOverfør'
og den henviser til: ".Run" i tredje sidste linje i dette modul:
Dim MyOverfør As New cmOverfør Sub Overfør() If Range("B2") = "" Then MsgBox "Der skal være en kunde!!" Exit Sub End If With MyOverfør .Kunde = Range("B2") .DatoOmråde = Range("B22:QQ22") .KundeOmråde = Range("A23:A47") .Run End With End Sub
Jeg havde bare udfyldt den første kategori og datoen: 07-10-2018. Men det kommer uanset hvordan jeg prøver at skrive datoen.
Synes godt om
Ny brugerNybegynder
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.