Avatar billede mile Juniormester
13. november 2001 - 08:41 Der 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 ?
Avatar billede janvogt Praktikant
13. november 2001 - 08:49 #1
Ja, da. Det skulle nok kunne lade sig gøre.

Har du et ark du evt. kan sende så jeg har noget håndgribeligt?
Eller skal jeg bare sende et eksempel?

jan_vogt_hansen@hotmail.com
Avatar billede bak Forsker
13. november 2001 - 09:10 #2
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
Avatar billede bak Forsker
13. november 2001 - 09:12 #3
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
Avatar billede mile Juniormester
13. november 2001 - 09:45 #4
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.
Avatar billede mile Juniormester
13. november 2001 - 09:58 #5
Bak det ser ud som om det virker skide godt. Jeg tester lige lidt mere senere.
Avatar billede mile Juniormester
13. november 2001 - 10:03 #6
Jeg får lige at vide, at han åbenbart vil have afsendt en liste over hvilke celler der er rettet. Det er jo straks lidt mere omfattende...
Avatar billede bak Forsker
13. november 2001 - 10:19 #7
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.
Avatar billede janvogt Praktikant
13. november 2001 - 10:28 #8
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
Avatar billede janvogt Praktikant
13. november 2001 - 10:33 #9
Denne skal selvfølgelig lægges ind under Worksheet_Change hændelsen, som i baks eksempel.

Derudover kræves der en reference til Microsoft Outlook 8.0 Object Library.
Avatar billede janvogt Praktikant
13. november 2001 - 10:46 #10
Hov, glem lige de sidste 3 linier af min kode.
Avatar billede bak Forsker
13. november 2001 - 11:00 #11
Jan. Du sender kun en mail, ikke arket, men det står der selvføgelig heller ikke noget om at man skal :)
Avatar billede bak Forsker
13. november 2001 - 11:29 #12
excel uden manuelt arbejde:
ActiveWorkbook.SendMail Recipients:=firma, Subject:=tekst
Avatar billede janvogt Praktikant
13. november 2001 - 11:31 #13
Ja, som jeg læser det skal man ikke sende arket - kun en besked.
Ellers skal vi have fat i: ActiveWorkbook.SendMail Recipients:=mile@mile.dk
Avatar billede janvogt Praktikant
13. november 2001 - 11:33 #14
Hehe, så ikke din kommentar. Da var vi vist ret enige ... :-)
Avatar billede bak Forsker
13. november 2001 - 12:29 #15
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.
Avatar billede mile Juniormester
13. november 2001 - 14:48 #16
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.
Avatar billede mile Juniormester
13. november 2001 - 14:55 #17
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 :-)
13. november 2001 - 15:11 #18
Det lyder ellers interessant...! :-)
Avatar billede janvogt Praktikant
13. november 2001 - 15:22 #19
Det er altid rart at få i både pose og sæk, men du ved jo jeg foretrækker den \"alternative konto\" frem for pointene :-)
13. november 2001 - 15:23 #20
who dosen\'t :-)
Avatar billede mile Juniormester
14. november 2001 - 10:55 #21
Nå - Manden kommer først i næste uge. Han må tage til takke med det her.
Avatar billede mile Juniormester
14. november 2001 - 10:57 #22
Bak var hurtigst - han får 40. Jan du har jo din alternative konto der tilskrives 2 og så får du 20 points. Tak for hjælpen.

PS. Jan du har nu 5 på din alternative konto.
Avatar billede janvogt Praktikant
14. november 2001 - 11:47 #23
Udmærket - stor tilfredshed her i lejren ;-)
Avatar billede bak Forsker
15. november 2001 - 08:55 #24
Mile > er opgaven løst, siden du har delt points ud??
Jeg tænker ikke på denne opgave, men den opgave du har fået tildelt.
Avatar billede mile Juniormester
15. november 2001 - 09:00 #25
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....
Avatar billede mile Juniormester
15. november 2001 - 09:01 #26
Officielt er der ikke support på vba hos os, men jeg vil jo gerne hjælpe manden hvis det er muligt.
Avatar billede bak Forsker
15. november 2001 - 16:34 #27
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.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester