20. marts 2008 - 11:08Der er
4 kommentarer og 1 løsning
Mere detaljeret makro kode
Hej Jeg har følgende makro på en knap i en excell template. Templaten bruger jeg til at udfylde linier med et udbud af varer. Når jeg har lavet udbuddet, klikker jeg på Finish og der laves en kopi af templaten som vedhæftes en email og gemmes i en mappe på c drevet. Fungerer super duper...MEN nu kunne jeg godt tænke mig at jeg ud af 15 linier kunne vælge linie 1,3,7 og så var det disse linier der blev lavet en kopi af i et nyt ark, istedet for at det var hele arket der blev kopieret og vedhæftet. Samtidig ville det være dejligt at jeg kunne bestemme hvilke felter der skulle kopieres også, således at det ikke var felter indeholdende info som jeg ikke vil vise frem til den jeg mailer arket til.
Kan det lade sig gøre at bygge ind i den eksisterende kode? På forhånd tak. Mvh.
Sub Finish() Dim Navn As String 'Finish Macro
' Cells.Select Selection.Copy Workbooks.Add Cells.Select Cells.Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False With ActiveSheet.PageSetup .Orientation = xlLandscape .Zoom = False .FitToPagesWide = 1 .FitToPagesTall = 1 End With Range("G11").Select Navn = Format(Now(), "dd-mm-yyyy hh_nn_ss") ' der tillades ikke colon (:) i filnavnet, ret selv i formater
If Dir("C:\Naal", vbDirectory) = "" Then Set fs = CreateObject("Scripting.FileSystemObject") fs.createfolder ("C:\Mappe") End If
ActiveWorkbook.SaveAs Filename:="C:\Mappe\" & Navn & ".xls"
If Application.MailSystem <> xlNoMailSystem Then ' tjekker om der et mailsystem With ActiveWorkbook .SendMail _ Recipients:="", _ Subject:="Titel" End With Application.MailLogoff Else MsgBox "Microsoft postsystem er ikke installeret.", vbInformation, "Postmeddelelse" End If
Virksomheder er på vej fra store sprogmodeller, der svarer på spørgsmål, til AI-agenter, der kan udføre opgaver på egen hånd. Det gør teknologien mere nyttig – og langt mere risikabel.
Prøv denne kode, hvis ok, skal den lige indpasses i din
Sub tst()
Application.ScreenUpdating = False Set wb1 = ActiveWorkbook Set sh1 = ActiveSheet
Workbooks.Add Set wb2 = ActiveWorkbook
For Each sh In wb2.Sheets sh.Name = sh.Name & 1 Next
Application.ScreenUpdating = True wb1.Activate sh1.Select sh1.Copy Before:=wb2.Sheets(1) Application.InputBox("Marker område der skal kopieres (+ CTRL hvis flere områder)", "", , , , , , 8).Select
For Each c In Selection c.Copy Sheets(2).Range(c.Address) Next
Hejsa, og tak for forslaget. Undskyld ventetiden...Jeg tror jeg har klaret en del af opgaven selv. Jeg har indsat et Range(A1:N31).select, og så får jeg nok så nydeligt kun det jeg vil have med. DOG har jeg et sidste problem eller 2.
Når min makro laver en kopi af arket og indsætter den som vedhæftet fil i en email, så får jeg ikke en kopi med af billeder der er indsat og ejheller af mine indsatte kommentarer. Desuden har jeg et problem med en VLOOKUP fra et underliggende ark. Der hvor VLOOKUP står i en celle uden at blive brugt står der FALSE - kan det ikke skjules? Mvh
Navn = Format(Now(), "dd-mm-yyyy hh_nn_ss") ' der tillades ikke colon (:) i filnavnet, ret selv i formater
If Dir("C:\Tilbud", vbDirectory) = "" Then Set fs = CreateObject("Scripting.FileSystemObject") fs.createfolder ("C:\Tilbud") End If
ActiveWorkbook.SaveAs Filename:="C:\Tilbud\" & Navn & ".xls"
If Application.MailSystem <> xlNoMailSystem Then ' tjekker om der et mailsystem With ActiveWorkbook .SendMail _ Recipients:="", _ Subject:="Offers from " End With Application.MailLogoff Else MsgBox "Microsoft postsystem er ikke installeret.", vbInformation, "Postmeddelelse" End If
tak for forsøget. Jeg kom ikke videre, så jeg lukker her. mvh
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.