Avatar billede jorgen3 Nybegynder
25. august 2008 - 12:12 Der er 24 kommentarer og
1 løsning

Sammenlægning af celler i eksterne filer

Hej,

Jeg har et noget kompiceret problem, som jeg nu over nogen dage har forsøgt at løse uden held. Jeg håber derfor at der er nogen her på siden, der kan hjælpe mig....:

Jeg har en salgsfil som udfyldes af sælgeren for hver kunde. Filen består af 6 kategorier som hver har deres ark i filen. For hver kategori er der yderligere underkategorier og for hver af disse underkategorier er der optil 7 størrelser. Salget anføres under den pågædende størrelse.

Eks: Ark 1: Bukser - underkategori: Korte bukser: Str: 1 (D20) Str: 2 (E20) etc. Hvis sælgeren har salg 3 korte bukser i størrelse 2 anføres 3 is celle E20.

Jeg ønsker nu en masterfil, der kan sammenlægge alle salg fra alle salgsfiler. Tanken er at masterfilen, som er en identisk kopi af salgsfilen, skal gå ind i folderen, hvor salgsfilerne er gemt (Jeg kender ikke navne på disse filer eller antallet af filer, men blot folderen hvor de er gemt) og lægge alle cellerne sammen for alle salgsfiler, således at jeg kan se det totale salg af f.eks. korte bukser (Sheet1, E20).

Jeg har på nuværende tidspunkt flg. kode, som kun formår at lægge én celle sammen, men da jeg ikke ønsker at kalde koden 1000 gange (for alle str. og underkategorier), håber jeg at der findes en anden mulighed f.eks Array(), men er ikke så skarp udi VB. Håber nogen kan hjælpe:-)

Sub Get_Value_From_A111()
  Dim lCount As Long

  Dim wbResults As Workbook
  Dim wbThis As Workbook
  Dim dblValue As Double
  Dim ClValue
 
  Dim WbCnt  As Long

  With Application
      .ScreenUpdating = False
      .DisplayAlerts = False
      .EnableEvents = False

      On Error Resume Next

      Set wbThis = ThisWorkbook
      dblValue = 0
     
      WbCnt = 0
      With .FileSearch
          .NewSearch
          'Change path to suit
          .LookIn = "C:\Salg\PR\PR_new" 'Sales folder
          .FileType = msoFileTypeExcelWorkbooks

          If .Execute > 0 Then    'Workbooks in folder
              For lCount = 1 To .FoundFiles.Count    'Loop through all.
                  'Open Workbook x and Set a Workbook variable to it
                  Set wbResults = Workbooks.Open(Filename:=.FoundFiles(lCount), UpdateLinks:=0)
                  'check that the cell contains a number
                 
                  ClValue = wbResults.Worksheets(1).Cells(20, 4).Value
                  If IsNumeric(ClValue) Then
                      'sum the values contained in D20 of the first sheet in each workbook
                      dblValue = dblValue + ClValue
                      wbResults.Close SaveChanges:=False    'don't save
                      'write result to master workbook
                        wbThis.Worksheets(1).Cells(20, 4).Value = dblValue
                           
                                    Else: wbResults.Close SaveChanges:=False
                      GoTo skipped
                  End If
                                   
                                             
                               
                 
                  WbCnt = WbCnt + 1
skipped:
              Next lCount
          End If
         
      End With

     
      On Error GoTo 0
      .ScreenUpdating = True
      .DisplayAlerts = True
      .EnableEvents = True
  End With
 
End Sub
Avatar billede kabbak Professor
25. august 2008 - 13:42 #1
jeg har rettet lidt i din kode, kun til eksempel

Sub Get_Value_From_A111()
    Dim lCount As Long

    Dim wbResults As Workbook
    Dim wbThis As Workbook
    Dim dblValue As Double
    Dim ClValue As Variant    '******* rettet
    Dim X As Integer ' NY
    Dim WbCnt As Long

    With Application
        .ScreenUpdating = False
        .DisplayAlerts = False
        .EnableEvents = False

        On Error Resume Next

        Set wbThis = ThisWorkbook
        dblValue = 0

        WbCnt = 0
        With .FileSearch
            .NewSearch
            'Change path to suit
            .LookIn = "C:\Salg\PR\PR_new"    'Sales folder
            .FileType = msoFileTypeExcelWorkbooks

            If .Execute > 0 Then    'Workbooks in folder
                For lCount = 1 To .FoundFiles.Count    'Loop through all.
                    'Open Workbook x and Set a Workbook variable to it
                    Set wbResults = Workbooks.Open(Filename:=.FoundFiles(lCount), UpdateLinks:=0)
                 

              ' hvis vi siger at værdierne ligger i række 20 og i de første 10 kolonner, så virker dette

                    ClValue = wbResults.Worksheets(1).Range(Cells(20, 1), Cells(20, 10))    '***** Putter 10 celler i et array
                    wbResults.Close SaveChanges:=False    'don't save ' lukker mappen
                    For X = 1 To UBound(ClValue, 2)    'looper igennem kolonner
                        If IsNumeric(ClValue(X)) Then 'check that the cell contains a number
                            wbThis.Worksheets(1).Cells(20, X).Value = ClValue(X) 'write result to master workbook
                           
              ' slut på ændring
             
                        End If
                    Next

                    WbCnt = WbCnt + 1
skipped:
                Next lCount
            End If

        End With


        On Error GoTo 0
        .ScreenUpdating = True
        .DisplayAlerts = True
        .EnableEvents = True
    End With

End Sub
Avatar billede kabbak Professor
25. august 2008 - 13:44 #2
ret

              For X = 1 To UBound(ClValue, 2)    'looper igennem kolonner
              If IsNumeric(ClValue(X)) Then 'check that the cell contains a number
              wbThis.Worksheets(1).Cells(20, X).Value = ClValue(X) 'write result to master workbook


til

              For X = 1 To UBound(ClValue, 2)    'looper igennem kolonner
            If IsNumeric(ClValue(1,X)) Then 'check that the cell contains a number
          wbThis.Worksheets(1).Cells(20, X).Value = ClValue(1,X) 'write result to master workbook
Avatar billede kabbak Professor
25. august 2008 - 14:02 #3
Da jeg testede, var der alligevel flere ændringer

Sub Get_Value_From_A111()
    Dim lCount As Long

    Dim wbResults As Workbook
    Dim wbThis As Workbook
    Dim dblValue As Double
    Dim ClValue As Variant    '******* rettet
    Dim X As Integer ' NY
    Dim WbCnt As Long

    With Application
        .ScreenUpdating = False
        .DisplayAlerts = False
        .EnableEvents = False

        On Error Resume Next

        Set wbThis = ThisWorkbook
        dblValue = 0

        WbCnt = 0
        With .FileSearch
            .NewSearch
            'Change path to suit
            .LookIn = "C:\Salg\PR\PR_new"    'Sales folder
            .FileType = msoFileTypeExcelWorkbooks

            If .Execute > 0 Then    'Workbooks in folder
                For lCount = 1 To .FoundFiles.Count    'Loop through all.
                    'Open Workbook x and Set a Workbook variable to it
                    Set wbResults = Workbooks.Open(Filename:=.FoundFiles(lCount), UpdateLinks:=0)
               

              ' hvis vi siger at værdierne ligger i række 20 og i de første 10 kolonner, så virker dette

                    ClValue = wbResults.Worksheets(1).Range(Cells(20, 1), Cells(20, 10))    '***** Putter 10 celler i et array
                    wbResults.Close SaveChanges:=False    'don't save ' lukker mappen
                    For X = 1 To UBound(ClValue, 2)    'looper igennem kolonner
                        If IsNumeric(ClValue(1, X)) Then 'check that the cell contains a number
                            wbThis.Worksheets(1).Cells(20, X).Value = wbThis.Worksheets(1).Cells(20, X).Value + ClValue(1, X) 'write result to master workbook
                         
              ' slut på ændring
           
                        End If
                    Next

                    WbCnt = WbCnt + 1
skipped:
                Next lCount
            End If

        End With


        On Error GoTo 0
        .ScreenUpdating = True
        .DisplayAlerts = True
        .EnableEvents = True
    End With

End Sub
Avatar billede jorgen3 Nybegynder
25. august 2008 - 14:34 #4
Hej Kabbak,

Jeg tester det lige og vender tilbage..... Tak for indsatsen indtil videre.
Avatar billede jorgen3 Nybegynder
25. august 2008 - 14:55 #5
Hej igen,

Dette fungerer perfekt. Problemet er blot at jeg ikke kun har række 20, men også 23, 26, 29.... ned til 99 som skal lægges sammen. Samtidig har jeg dette for alle 6 ark (produkt typer). Er løsningen på dette blot at kopiere koden og ændre række nr og ark nummer så mange gange det er nødvendigt eller er der en lettere måde...?
Avatar billede jorgen3 Nybegynder
25. august 2008 - 15:02 #6
En anden ting jeg bemærker er at programmet hele tiden lægger til den nuværende sum i master filen. Dvs. når jeg kører programmet og der f.eks. allerede står 4 i D20 i master filen og det sammenlagte tal for salgsfilerne for D20 er 5, vil den skrive 9 og ikke 5, hvis jeg kører den igen vil den skrive 14 etc. Er der nogen måde hvorpå den kan overskrive den nuværende værdi i masterfilen?
Avatar billede kabbak Professor
25. august 2008 - 15:12 #7
har du altid 2 rækker som skal hoppes over, og hvilke kolonner er det ?

Vi sætter den til at slette data i masterfilen, ved opstart af koden.
Avatar billede kabbak Professor
25. august 2008 - 15:14 #8
Vi kan sagtens få den til at skifte mellem de 6 ark, men så skal du vel også have 6 ark på masterfilen.
Avatar billede kabbak Professor
25. august 2008 - 15:21 #9
et eksempel på sådan en løkke



    For I = 1 To 6 ' Ark
        For Y = 20 To 100 Step 3' Række
            ClValue = wbResults.Worksheets(I).Range(Cells(Y, 1), Cells(Y, 10))    '***** Putter 10 celler i et array
            wbResults.Close SaveChanges:=False    'don't save ' lukker mappen
            For X = 1 To UBound(ClValue, 2)    'looper igennem kolonner
                If IsNumeric(ClValue(1, X)) Then    'check that the cell contains a number
                    wbThis.Worksheets(I).Cells(Y, X).Value = wbThis.Worksheets(1).Cells(Y, X).Value + ClValue(1, X)    'write result to master workbook
                End If
            Next
        Next
    Next
Avatar billede jorgen3 Nybegynder
25. august 2008 - 15:23 #10
Hej Kabbak,

Jeg har 6 ark på masterfilen, da den er en eksakt kopi af salgsfilen. Desværre hopper den ikke konsekvent 3 over - i nogen tilfælde hopper den 4 over. Men kunne man evt. lave et array der hedder noget i retning af Range(Cells(20, 1), Cells(99, 10)) - det ville værre helt i orden at den lagde cellerne sammen hvor der ingen data er da dette jo blot vil give 0.
Avatar billede kabbak Professor
25. august 2008 - 15:25 #11
For I = 1 To 6 ' Ark
wbThis.Worksheets(I).Range("A20;J99").ClearContents' tømmer master
next
Avatar billede kabbak Professor
25. august 2008 - 15:29 #12
Hvis du lavede et array på rækkerne, Sådan

RK = array(20,24,26,29, osv. til der ikke er flere)

sæt det ind her, så laver jeg det færdig.
Avatar billede jorgen3 Nybegynder
25. august 2008 - 15:39 #13
Hej Kabbak,

Min kode ser nu således ud:

Sub Get_Value_From_A111()
    Dim lCount As Long

    Dim wbResults As Workbook
    Dim wbThis As Workbook
    Dim dblValue As Double
    Dim ClValue As Variant    '******* rettet
    Dim X As Integer ' NY
    Dim WbCnt As Long

    With Application
        .ScreenUpdating = False
        .DisplayAlerts = False
        .EnableEvents = False

        On Error Resume Next

        Set wbThis = ThisWorkbook
        dblValue = 0

        WbCnt = 0
        With .FileSearch
            .NewSearch
            'Change path to suit
            .LookIn = "C:\Salg\PR\PR_new"    'Sales folder
            .FileType = msoFileTypeExcelWorkbooks

            If .Execute > 0 Then    'Workbooks in folder
                For lCount = 1 To .FoundFiles.Count    'Loop through all.
                    'Open Workbook x and Set a Workbook variable to it
                    Set wbResults = Workbooks.Open(Filename:=.FoundFiles(lCount), UpdateLinks:=0)
               

              ' hvis vi siger at værdierne ligger i række 20 og i de første 7 kolonner, så virker dette

                    For i = 1 To 6 ' Ark
        For Y = 20 To 100 Step 1 ' Række
            ClValue = wbResults.Worksheets(i).Range(Cells(Y, 1), Cells(Y, 7))    '***** Putter 7 celler i et array
            wbResults.Close SaveChanges:=False    'don't save ' lukker mappen
            For X = 1 To UBound(ClValue, 2)    'looper igennem kolonner
                If IsNumeric(ClValue(1, X)) Then    'check that the cell contains a number
                    wbThis.Worksheets(i).Cells(Y, X).Value = wbThis.Worksheets(1).Cells(Y, X).Value + ClValue(1, X)    'write result to master workbook
                End If
            Next
        Next
    Next

                    WbCnt = WbCnt + 1
skipped:
                Next lCount
            End If

        End With


        On Error GoTo 0
        .ScreenUpdating = True
        .DisplayAlerts = True
        .EnableEvents = True
    End With

End Sub



Den kommer nu med værdier i alle arkene, men de ser ikke korrekte ud. I mine to test salgsfiler har jeg iøjeblikket kun værdier i sheet 1 D20:I20, men alligevel kommer den med værdier for stort set all celler. Undskyld de mange spørgsmål, men hvordan sætter jeg den til at slette data i masterfilen ved opsart af koden....?
Avatar billede jorgen3 Nybegynder
25. august 2008 - 15:43 #14
Så ikke dit svar. Jeg sender rækkerne om 5 minutter..
Avatar billede jorgen3 Nybegynder
25. august 2008 - 16:02 #15
Sheet 1:
RK = array(20,23,26,30,33,36,40,43,46,50,53,56,59,62,65,69,72,76,79,83,86,89,93,96,99)

Sheet 2:
RK = array(20,23,26,29,32,35,39,42,45,48,52,55,58,61,64,67,71,74,77,81,84,87,90,94,97,1009

Sheet 3:
RK = array( 20, 23 27,30,33,36,40,43,46,49)

Sheet 4:
RK = array(20,23,26,29,33,36,39,42,46,49,52,55,59,62,65,68,71,74,77,80,83,86,89,92,96,99,102,105,109,112,115,118,122,125,128,131,134,137,140,143,147,150,153,156,160,163,166,169,173,176,179,182,186,189,192,195,199,202,205,208)

Sheet 5:
RK = array(20,23,26,29,33,36,39,42,46,49,52,55,59,63,67,71,74,77,80,84,88,92,95,98,101,105,108,111,114,118,121,124,127,131,134,137,140,144,147,150,153,157,161,164,167,170)

Sheet 6:
RK = array(20,23)
Avatar billede kabbak Professor
25. august 2008 - 17:45 #16
Hej

Jeg måtte give arkene, det rigtige navn, for at det virkede korrekt ved mig, så derfor er der arknavne i koden.

Option Explicit
Option Base 1

Sub Get_Value_From_A111()
    Dim lCount As Long
    Dim wbResults As Workbook
    Dim wbThis As Workbook
    Dim dblValue As Double
    Dim ClValue As Variant    '******* rettet
    Dim X As Integer, I As Integer, Y As Integer, AD As String  ' NY
    Dim WbCnt As Long
    Dim Rk(6) As Variant
    Set wbThis = ThisWorkbook

    wbThis.Worksheets("Ark1").Range("A20:G99").ClearContents    ' tømmer master ark1
    Rk(1) = Array(20, 23, 26, 30, 33, 36, 40, 43, 46, 50, 53, 56, 59, 62, 65, 69, 72, 76, 79, 83, 86, 89, 93, 96, 99)
    wbThis.Worksheets("Ark2").Range("A20:G100").ClearContents    ' tømmer master ark2
    Rk(2) = Array(20, 23, 26, 29, 32, 35, 39, 42, 45, 48, 52, 55, 58, 61, 64, 67, 71, 74, 77, 81, 84, 87, 90, 94, 97, 100)
    wbThis.Worksheets("Ark3").Range("A20:G49").ClearContents    ' tømmer master ark3
    Rk(3) = Array(20, 23, 27, 30, 33, 36, 40, 43, 46, 49)
    wbThis.Worksheets("Ark4").Range("A20:G208").ClearContents    ' tømmer master ark 4
    Rk(4) = Array(20, 23, 26, 29, 33, 36, 39, 42, 46, 49, 52, 55, 59, 62, 65, 68, 71, 74, 77, 80, 83, 86, 89, 92, 96, 99, 102, 105, 109, 112, 115, 118, 122, 125, 128, 131, 134, 137, 140, 143, 147, 150, 153, 156, 160, 163, 166, 169, 173, 176, 179, 182, 186, 189, 192, 195, 199, 202, 205, 208)
    wbThis.Worksheets("Ark5").Range("A20:G170").ClearContents    ' tømmer master ark 5
    Rk(5) = Array(20, 23, 26, 29, 33, 36, 39, 42, 46, 49, 52, 55, 59, 63, 67, 71, 74, 77, 80, 84, 88, 92, 95, 98, 101, 105, 108, 111, 114, 118, 121, 124, 127, 131, 134, 137, 140, 144, 147, 150, 153, 157, 161, 164, 167, 170)
    wbThis.Worksheets("Ark6").Range("A20:G23").ClearContents    ' tømmer master ark 6
    Rk(6) = Array(20, 23)    'Sheet 6:

    With Application
        .ScreenUpdating = False
        '        .DisplayAlerts = False
        .EnableEvents = False
        '      On Error Resume Next
        dblValue = 0

        WbCnt = 0
        With .FileSearch
            .NewSearch
            'Change path to suit
            .LookIn = "C:\Salg\PR\PR_new"    'Sales folder
            .FileType = msoFileTypeExcelWorkbooks
            If .Execute > 0 Then    'Workbooks in folder
                For lCount = 1 To .FoundFiles.Count    'Loop through all.
                    'Open Workbook x and Set a Workbook variable to it
                    Set wbResults = Workbooks.Open(Filename:=.FoundFiles(lCount), UpdateLinks:=0)

                    For I = 1 To 6    ' Ark
                        For Y = 1 To UBound(Rk(I))  ' Række
                            AD = "A" & Rk(I)(Y) & ":G" & Rk(I)(Y)
                            ClValue = wbResults.Worksheets("Ark" & I).Range(AD) '***** Putter 7 celler i et array
                            For X = 1 To UBound(ClValue, 2)    'looper igennem kolonner
                                If IsNumeric(ClValue(1, X)) And Not IsEmpty(ClValue(1, X)) Then  'check that the cell contains a number and not empty
                                    wbThis.Worksheets("Ark" & I).Cells(Rk(I)(Y), X).Value = wbThis.Worksheets("Ark" & I).Cells(Rk(I)(Y), X).Value + ClValue(1, X)  'write result to master workbook
                                End If
                            Next
                            ClValue = Empty
                        Next
                    Next
                   
                    wbResults.Close SaveChanges:=False    'don't save ' lukker mappen
                    WbCnt = WbCnt + 1
skipped:
                Next lCount
            End If

        End With
        '        On Error GoTo 0
        .ScreenUpdating = True
        .DisplayAlerts = True
        .EnableEvents = True
    End With

End Sub
Avatar billede jorgen3 Nybegynder
25. august 2008 - 18:23 #17
Hej Kabbak,

Imponerende. Du skal have mange tak for hjælpen. Jeg tjekker den lige og vender tilbage lidt senere iaften...
Avatar billede jorgen3 Nybegynder
25. august 2008 - 20:48 #18
Hej Kabbak,

Den giver mig en runtime error når jeg kører koden. Koden formår at slette indholdet i masterfilen (dog blot for det første sheet), men altså ikke at lægge de nye tal ind.

Den giver mig vel også et problem med navngivning af arkene i salgsfilerne, da disse ark alle har forskellige navne i henhold til produkttype og altså ikke hedder ark1, ark2 etc. eller lign. med fortløbende nummerering - de hedder f.eks. Bukser, Trøjer etc.. Dette er nu ikke grunden til ovenstående error, da jeg har rettet alle ark navnene i mine testfiler til Ark1, Ark2 osv.
Avatar billede kabbak Professor
25. august 2008 - 22:32 #19
OK jeg har sat arkene i et array, så kan du rette dem der, de skal være ens både i salgsfilerne og resultatfilen

Husk at få de 2 linjer med , der står over proceduren, når du kopierer ind.


Option Explicit
Option Base 1

Sub Get_Value_From_A111()
    Dim lCount As Long
    Dim wbResults As Workbook
    Dim wbThis As Workbook
    Dim dblValue As Double
    Dim ClValue As Variant    '******* rettet
    Dim X As Integer, I As Integer, Y As Integer, AD As String, Ark As Variant  ' NY
    Dim WbCnt As Long
    Dim Rk(6) As Variant
    Set wbThis = ThisWorkbook
Ark = Array("Ark1", "Ark2", "Ark3", "Ark4", "Ark5", "Ark6") ' ret til dine ark

    wbThis.Worksheets(Ark(1)).Range("A20:G99").ClearContents    ' tømmer master ark1
    Rk(1) = Array(20, 23, 26, 30, 33, 36, 40, 43, 46, 50, 53, 56, 59, 62, 65, 69, 72, 76, 79, 83, 86, 89, 93, 96, 99)
    wbThis.Worksheets(Ark(2)).Range("A20:G100").ClearContents    ' tømmer master ark2
    Rk(2) = Array(20, 23, 26, 29, 32, 35, 39, 42, 45, 48, 52, 55, 58, 61, 64, 67, 71, 74, 77, 81, 84, 87, 90, 94, 97, 100)
    wbThis.Worksheets(Ark(3)).Range("A20:G49").ClearContents    ' tømmer master ark3
    Rk(3) = Array(20, 23, 27, 30, 33, 36, 40, 43, 46, 49)
    wbThis.Worksheets(Ark(4)).Range("A20:G208").ClearContents    ' tømmer master ark 4
    Rk(4) = Array(20, 23, 26, 29, 33, 36, 39, 42, 46, 49, 52, 55, 59, 62, 65, 68, 71, 74, 77, 80, 83, 86, 89, 92, 96, 99, 102, 105, 109, 112, 115, 118, 122, 125, 128, 131, 134, 137, 140, 143, 147, 150, 153, 156, 160, 163, 166, 169, 173, 176, 179, 182, 186, 189, 192, 195, 199, 202, 205, 208)
    wbThis.Worksheets(Ark(5)).Range("A20:G170").ClearContents    ' tømmer master ark 5
    Rk(5) = Array(20, 23, 26, 29, 33, 36, 39, 42, 46, 49, 52, 55, 59, 63, 67, 71, 74, 77, 80, 84, 88, 92, 95, 98, 101, 105, 108, 111, 114, 118, 121, 124, 127, 131, 134, 137, 140, 144, 147, 150, 153, 157, 161, 164, 167, 170)
    wbThis.Worksheets(Ark(6)).Range("A20:G23").ClearContents    ' tømmer master ark 6
    Rk(6) = Array(20, 23)    'Sheet 6:

    With Application
        .ScreenUpdating = False
        '        .DisplayAlerts = False
        .EnableEvents = False
        '      On Error Resume Next
        dblValue = 0

        WbCnt = 0
        With .FileSearch
            .NewSearch
            'Change path to suit
            '  .LookIn = "C:\Salg\PR\PR_new"    'Sales folder
            .LookIn = "C:\data1"    'Sales folder
            .FileType = msoFileTypeExcelWorkbooks
            If .Execute > 0 Then    'Workbooks in folder
                For lCount = 1 To .FoundFiles.Count    'Loop through all.
                    'Open Workbook x and Set a Workbook variable to it
                    Set wbResults = Workbooks.Open(Filename:=.FoundFiles(lCount), UpdateLinks:=0)

                    For I = 1 To 6    ' Ark
                        For Y = 1 To UBound(Rk(I))  ' Række
                            AD = "A" & Rk(I)(Y) & ":G" & Rk(I)(Y)
                            ClValue = wbResults.Worksheets(Ark(I)).Range(AD)  '***** Putter 7 celler i et array
                            For X = 1 To UBound(ClValue, 2)    'looper igennem kolonner
                                If IsNumeric(ClValue(1, X)) And Not IsEmpty(ClValue(1, X)) Then  'check that the cell contains a number and not empty
                                    wbThis.Worksheets(Ark(I)).Cells(Rk(I)(Y), X).Value = wbThis.Worksheets(Ark(I)).Cells(Rk(I)(Y), X).Value + ClValue(1, X)    'write result to master workbook
                                End If
                            Next
                            ClValue = Empty
                        Next
                    Next
                   
                    wbResults.Close SaveChanges:=False    'don't save ' lukker mappen
                    WbCnt = WbCnt + 1
skipped:
                Next lCount
            End If

        End With
        '        On Error GoTo 0
        .ScreenUpdating = True
        .DisplayAlerts = True
        .EnableEvents = True
    End With

End Sub
Avatar billede kabbak Professor
25. august 2008 - 22:33 #20
byt lig om på disse 2

'  .LookIn = "C:\Salg\PR\PR_new"    'Sales folder
            .LookIn = "C:\data1"    'Sales folder
Avatar billede jorgen3 Nybegynder
26. august 2008 - 10:03 #21
Hej kabbak,

Dette fungerer næsten nu fuldstændig efter hensigten. Det ser dog ud som om at den kun tager de første 4 celler i arrayet og ikke 7
Avatar billede kabbak Professor
26. august 2008 - 10:08 #22
Det burde den gøre, jeg kan ikke se fejl, prøv igen og skriv om de lykkedes.
set evt. din kode ind her igen.
Avatar billede jorgen3 Nybegynder
26. august 2008 - 10:14 #23
Hej kabbak,

Unskyld det er mig der er lidt langsom - har rettet den til at tage alle 7 celler med. Den var sat fra A:G men skulle rettes til D:J. Endnu engang mange tak for hjælpen - det var helt perfekt.

Og så til pointgivningen - jeg er ny bruger, men er det noget med at du skal poste et svar for at jeg kan acceptere dette...? :-)
Avatar billede jorgen3 Nybegynder
27. august 2008 - 10:52 #24
Hej kabbak,

Smider du et svar, så jeg kan give dig de velfortjente point :-)
Avatar billede kabbak Professor
27. august 2008 - 11:08 #25
Jeg giver et svar,du markerer mit navn i boksen til venstre og trykker accepter.

;-))
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