10. oktober 2002 - 22:29Der er
14 kommentarer og 1 løsning
Indspil Makro?
Jeg forsøger mig lidt med at Indspille en eller flere Makroer, men da det er det samme jeg indspiller uge for uge bortset fra ”Range(”C4”).Selct” flytter sig 2 koloner hver gang (hver uge) så sidste kolonne må blive ”BJ4”, er mit spørgsmål om der findes en nemmere løsning end indspille Makroen 30 gange.
Et følge spørgsmål, når jeg engang er færdig, vil jeg gerne have alle filerne 01uge.xls, 02uge.xls osv. lagt ud på en server W:\UGER, filen Årsopgørelse_uge.xls ligger samme sted, men i en anden mappe W:\UGER\AARSOP. Hvordan klare man lige det i en Makro??
Der bliver investeret massivt i AI. Teknologien er mere tilgængelig end nogensinde, og ambitionerne er høje. Alligevel oplever mange virksomheder, at resultaterne udebliver.
Du har sikkert lagt mærke til at når du indspiller, ender makroerne i et modul der hedder newmacro, hvor makroen begynder:
sub [makronavn]() 'kode end sub
du kan blot kopiere kode stykket og sætte det ind under hinanden, samtidig med at du ændrer makro-navnet og de småting du har set er ændret inde i koden.
når du har gjort det og gemt, kan du i excel med [alt]+[f8] se alle dine 30 makroer, samt afspille dem efter behag.
Nej, jeg så også bagefter at makroen skulle indspilles 30 gange - så der er i hvert tilfælde noget, der ikke går op med min makro.
Din ide er nu også udmærket - det eneste problem er at man så skal foretage kaldet til sub'en 30 gange, men det kan iøvrigt kombineres med mit forslag (ved at lægge kaldene ind in løkke). Ja, der er mange muligheder.
Superjap. Din Makro funger, men jeg har tre spørgsmål til den: 1. Hvorfor kopier den ikke 01uge med over i ÅrsopgørelseUge Jeg har lavet 5 små filer 01uge, 02uge osv. til at teste Makroen i? 2. Hvorfor er den sidste fil 05uge forsat markeret som om den skal kopieres når Makroen har kørt? 3. Hvorfor markeres Makro linien med fejl: Windows(Format(tæller, "00") & "uge.xls").Activate
Makroen er som følger NU: 'Dim tæller As Integer For tæller = 2 To 52 Windows(Format(tæller, "00") & "uge.xls").Activate Range("C8:D27").Select Application.CutCopyMode = False Selection.Copy Windows("ÅrsopgørelseUge.xls").Activate Range(Chr(65 + tæller * 2) & "4").Select ActiveSheet.Paste Next tæller
forsat kommentar Hvis jeg åbner 01uge, 02uge, 03uge og 05uge og naturligvis ÅrsopgørelsenUge og køre Makroen stopper den ved 03uge, 05 uge bliver ikke kopieret over.
1. Sådan som jeg så dit oplæg, så gør du ikke helt det samme for uge 1, som for de andre uger. Du kan selvfølgelig ændre det, så det passer til dit behov. 2. Det var da et godt spørgsmål. Måske er det nødvendigt at placere en range("XX").select efter løkken. 3. Det forstår jeg ikke. Jeg kan får ikke nogen fejl i den linie. Hvad er fejlmeddelelsen?
Hvis 04uge ikke er åbnet går programmet naturligvis ned i den programlinie hvor den vil forsøge at markere et område i 04uge. Du skal i stedet enten undersøge om regnearket er åbent eller sørge for at programmet ikke går ned ved fejl, men blot fortsætter med den næste.
Jeg har lavet et par justeringer, der skulle rette op på de ting du nævnte:
- Første uge, der kopieres er uge 1 - Programmet går ikke ned ved manglende filer - Kopimarkeringen fjernes inden programmet afsluttes
Som du kan se kræver det lige en ekstra funktion (IsOpen) som jeg også har tilføjet.
NU er det vist sengetid ;-)
Public Sub KopierUgeFiler() Dim strFileName As String Application.ScreenUpdating = False For tæller = 1 To 52 strFileName = Format(tæller, "00") & "uge.xls" If IsOpen(strFileName) Then Windows(strFileName).Activate Range("C8:D27").Select Selection.Copy Windows("ÅrsopgørelseUge.xls").Activate Range(Chr(63 + tæller * 2) & "4").Select ActiveSheet.Paste End If Next tæller Application.CutCopyMode = False Application.ScreenUpdating = True
End Sub
Function IsOpen(filename As String) As Boolean Dim wb As Workbook For Each wb In Application.Workbooks If UCase(wb.Name) = UCase(filename) Then IsOpen = True Exit Function End If Next wb IsOpen = False End Function
Superjap. Nu har jeg prøvet at teste Makroen på mange forskellige måder og det funger BARE, Tak. Et lille spørgsmål, er det muligt at hente data fra en lukket fil??
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.