13. november 2001 - 08:41Der er
25 kommentarer og 2 løsninger
Automatisering ved ændring af celle
Jeg har en bruger der - hvis der ændres i én bestemt celle i en projektmappe - gerne automatisk vil have oprettet mail der sender besked om det, til en bestemt gruppe af personer. Er der nogen der kan hjælpe med det ?
Denne makro placeres i arkets egen kodemodul (stil dig på arkfanen, højreklik og Vis Kode) Den går ud fra at celle A1 er den bestemte celle, B1 indeholder email-adresse, C1 indeholder Subjekt. Private Sub Worksheet_Change(ByVal Target As Range) Dim rCell As Range Set rColumn = Range(\"A1\") \'celle der ændres If Not Intersect(Target, rColumn) Is Nothing Then Firma = [b1] \' celle med emailadresse tekst = [c1] \' celle med subjekt Application.Dialogs(xlDialogSendMail).Show _ arg1:=Firma, _ arg2:=tekst End If Set rCell = Nothing End Sub
beklager fejlen. Private Sub Worksheet_Change(ByVal Target As Range) Dim rCell As Range Set rCell = Range(\"A1\") \'celle der ændres If Not Intersect(Target, rCell) Is Nothing Then Firma = [b1] \' celle med emailadresse tekst = [c1] \' celle med subjekt Application.Dialogs(xlDialogSendMail).Show _ arg1:=Firma, _ arg2:=tekst End If Set rCell = Nothing End Sub
Jeg holder møde her i formiddag. Jeg tester lige når jeg er færdig med mødet. Jan jeg har ikke data, har blot fået en forespørgsel, så hvis du har noget i ærmet, vil jeg da meget gerne have at du sender det.
Det er måske ikke så galt endda, men det betyder at projektmappen skal deles. Nu har jeg kun lige engelsk version her, men i TOOLS/TRACK CHANGES er der mulighed for at få vist ændringer. Kig lige på den.
Da det skal ske automatisk vil det måske være en fordel at bruge noget andet end dialogboksen (som kræver manuelt arbejde) - f.eks. noget i retning af:
Sub SendAnEmailWithOutlook() \' creates and sends a new e-mail message with Outlook Dim OLF As Outlook.MAPIFolder, olMailItem As Outlook.MailItem, ToContact As Recipient Set OLF = GetObject(\"\", \"Outlook.Application\").GetNamespace(\"MAPI\").GetDefaultFolder(olFolderInbox) Set olMailItem = OLF.Items.Add \' creates a new e-mail message With olMailItem .Subject = \"Subject for the new e-mail message\" \' message subject Set ToContact = .Recipients.Add(\"name@domain.com\") \' add a recipient Set ToContact = .Recipients.Add(\"name@company.com\") \' add a recipient .Body = \"This is the message text\" & Chr(13) \' the message text with a line break .Send \' sends the e-mail message (puts it in the Outbox if you are working off-line) End With Set ToContact = Nothing Set olMailItem = Nothing Set OLF = Nothing End Sub End If Set rCell = Nothing End Sub
mile> hvis du deler regnearket, vil enhver ændring kunne spores. Også selvom det foregår af flere gange, samtidig kan man se hvem der har ændret i arket. prøv track changes / highligt change´s sæt nogen flueben og angiv området du vil se ændringer for og et flueben i List changes on a new sheet.
Jeg tror nu at det er delt. Det ligger i hvert fald på et fællesdrev. Det er sgu nok et spørgsmål om, at de er for dovne (læs \"har for travlt\") til at gå ind og kigge og derfor skal have besked om ændringerne. Jeg haft skide travlt denne dag, så jeg kan først teste i morgen.
Men glæd jer til pointsene. Eller hvad Jan skal den anden konto også tilskrives noget ?? Så er det ikke lige nu du skal komme til Fyn for jeg er forkølet :-)
Nej - Gutten der har brug for hjælp kommer først på arbejde på mandag. Der skal jeg helt nøjagtigt have præciseret hvad han skal bruge. Det var nemlig en af mine kolleger der egentligt fik opgaven og talte med manden, men fik altså ikke alle oplysninger med. Jeg har derfor skrevet til ham, at han skal kontakte mig mandag. Så må vi se hvad vi kan støve op til ham. Jeg er enig med dig bak - at hvis de skal kunne spore alle ændringer, så må de dele filen, omvendt kan man jo godt indsætte kode, der fortæller at der rent faktisk er ændret i selve filen, og så må de til musen og åbne den, hvis de vil have det pindet ud....
Jeg har lavet en kode der kan registrere ændringene og og sende en mail kun indeholdende de nye værdier. Sig til hvis du skal bruge det.
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.