Avatar billede jensen363 Forsker
17. september 2006 - 16:00 Der er 8 kommentarer og
1 løsning

Indsæt bestemt værdi i samtlige regneark/arkfaner i biblioteket

I en biblioteksstruktur, som kan variere fra bruger til bruger, har jeg xx og yy antal regneakk liggende. xx regneark er mine grunddataark/dataudtræk hvormed jeg via makroer føder yy regnearkene. Succesfuld opdatering af yy regnearkene er afhængig af at en bestemt celle ( G6 ) i hver yy regneark, med tilhørende arkfaner er udfyldt med en bestemt værdi.

Kan jeg via en makro ( skjult for brugeren ) indsætte denne værdi i alle regneark/arkfaner. Jeg kender som udgangspunkt ikke yy regnearkenes navn/arkfanenavn/antal.

Jeg kender xx regnearkenes navn ... disse skal ikke opdateres, ligesom alle regneark ( xx og yy ) ligger / opdateres i samme bibliotek ( som navngives individuelt af brugerne ....

Kan I følge mig ????
17. september 2006 - 18:36 #1
Jep, jeg kan godt følge dig, den slags opgaver har jeg lavet flere.

Du skal vide et eller anet specifikt omkring de filer du vil opdatere... lettes ville det være at kende arkfanenavnet...

Hvad har du konkret at gå efter, som kan identificere det sted du skal opdatere?
Avatar billede jensen363 Forsker
17. september 2006 - 18:44 #2
Hej Flemming

ThisWorkbook.Path benytter jeg til at bestemme/angive hvor filerne filerne ligger, de enkelte arkfaner havde jeg tænkt mig at få adgang til hed hjælp af

For each WS .... next  ...

men hvordan indlæser jeg de ukendte regneark og gennemløber arkfanerne automatisk
Avatar billede gider_ikke_mere Nybegynder
18. september 2006 - 02:26 #3
Private Sub CommandButton1_Click()
Dim OK As Boolean, I As Integer
Sti = ThisWorkbook.Path

Set Fil = Application.FileSearch
With Application.FileSearch
    .LookIn = Sti
    .FileType = msoFileTypeExcelWorkbooks
    For FundetFiler = 1 To .FoundFiles.Count
        NyWorkbook = .FoundFiles(FundetFiler)
        If Right(NyWorkbook, Len(ThisWorkbook.Name)) <> ThisWorkbook.Name Then
            ReDim MyWorkbook(1)
            P = 1
            For Each ws In ThisWorkbook.Worksheets
                MyWorkbook(P - 1) = ws.Name
                ReDim Preserve MyWorkbook(P)
                P = P + 1
            Next
            Workbooks.Open Filename:=NyWorkbook
            ActiveSheet.Select
            For Each ws In Worksheets
                OK = False
                For I = 1 To UBound(MyWorkbook)
                    If ws.Name = MyWorkbook(I) Then
                        OK = True
                    End If
                Next
                If OK = False Then
                    Sheets(ws.Name).Range("A1").Value = "Yes"
                End If
            Next
            ActiveWorkbook.Save
            ActiveWindow.Close
        End If
    Next
End With
End Sub
Avatar billede gider_ikke_mere Nybegynder
18. september 2006 - 08:14 #4
Ret lige selv
Sheets(ws.Name).Range("A1").Value = "Yes"
til
Sheets(ws.Name).Range("G6").Value = "Yes"
Avatar billede jensen363 Forsker
18. september 2006 - 08:59 #5
akyhne > den finder ikke nogen filer/regneark i mappen :o(
Avatar billede gider_ikke_mere Nybegynder
18. september 2006 - 12:14 #6
Prøv denne:

Private Sub CommandButton1_Click()
Dim FS As FileSearch
Dim FilePath As String, Fundet As String
Dim I As Long, Y As Long
Dim NyWorkbook
Const Filespec = "*.xls"

FilePath = ThisWorkbook.Path
Application.ScreenUpdating = False
Set FS = Application.FileSearch
With FS
    .LookIn = FilePath
    .Filename = Filespec
    .SearchSubFolders = False
    .Execute
    For Y = 1 To .FoundFiles.Count
        Fundet = .FoundFiles(Y)
        L = Len(ThisWorkbook.Name)
        If Fundet <> FilePath & "\" & ThisWorkbook.Name Then
            NyWorkbook = .FoundFiles(Y)
            ReDim MyWorkbook(1)
            P = 1
            For Each ws In ThisWorkbook.Worksheets
                MyWorkbook(P - 1) = ws.Name
                ReDim Preserve MyWorkbook(P)
                P = P + 1
            Next
            Workbooks.Open Filename:=NyWorkbook
            ActiveSheet.Select
            For Each ws In Worksheets
                OK = False
                For I = 1 To UBound(MyWorkbook)
                    If ws.Name = MyWorkbook(I) Then
                        OK = True
                    End If
                Next
                If OK = False Then
                    Sheets(ws.Name).Range("C6").Value = "Yes"
                End If
            Next
            ActiveWorkbook.Save
            ActiveWindow.Close
        End If
    Next
End With
Application.ScreenUpdating = False
End Sub
Avatar billede gider_ikke_mere Nybegynder
18. september 2006 - 12:22 #7
Ups... en lille fejl

Private Sub CommandButton1_Click()
Dim FS As FileSearch
Dim FilePath As String, Fundet As String
Dim I As Long, Y As Long
Dim NyWorkbook
Const Filespec = "*.xls"

FilePath = ThisWorkbook.Path
Application.ScreenUpdating = False
Set FS = Application.FileSearch
With FS
    .LookIn = FilePath
    .Filename = Filespec
    .SearchSubFolders = False
    .Execute
    For Y = 1 To .FoundFiles.Count
        Fundet = .FoundFiles(Y)
        L = Len(ThisWorkbook.Name)
        If Fundet <> FilePath & "\" & ThisWorkbook.Name Then
            Antal = Antal + 1
            NyWorkbook = .FoundFiles(Y)
            ReDim MyWorkbook(1)
            P = 1
            For Each ws In ThisWorkbook.Worksheets
                MyWorkbook(P - 1) = ws.Name
                ReDim Preserve MyWorkbook(P)
                P = P + 1
            Next
            Workbooks.Open Filename:=NyWorkbook
            Application.StatusBar = "Retter " & Fundet
            ActiveSheet.Select
            For Each ws In Worksheets
                OK = False
                For I = 1 To UBound(MyWorkbook)
                    If ws.Name = MyWorkbook(I) Then
                        OK = True
                    End If
                Next
                If OK = False Then
                    Sheets(ws.Name).Range("C6").Value = "Yes"
                End If
            Next
            ActiveWorkbook.Save
            ActiveWindow.Close
        End If
    Next
End With
Application.StatusBar = "Rettede " & Antal & " filer"
End Sub
Avatar billede jensen363 Forsker
18. september 2006 - 15:17 #8
Fornemt ... læg venligst svar :o)
Avatar billede gider_ikke_mere Nybegynder
18. september 2006 - 17:18 #9
Velbekomme :-)
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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