een macro voor verschillende files

Status
Niet open voor verdere reacties.

oneilboy

Gebruiker
Lid geworden
7 jun 2019
Berichten
34
Ik heb een macro gemaakt, maar hij doet het nu alleen in dit geval voor file Windows("5100340135 - RS013610000243.xlsx").Activate. de macro zou het dus moeten doen op om het even welke excell file dat ik open.

Hoe pas ik dat aan?

hieronder de volledige code van mijn macro

Code:
Sub TEST()
'
' TEST Macro
'

'
Sheets.Add After:=ActiveSheet
    Workbooks.Open Filename:= _
        "R:\master.xls"    
Cells.Select
    Selection.Copy
  Windows("5100340135 - RS013610000243.xlsx").Activate
    ActiveSheet.Paste
    Range("A:A,C:C").Select
    Range("C1").Activate
    Application.CutCopyMode = False
    Columns("A:A").Select
    Selection.Cut
    Columns("F:F").Select
    Selection.Insert Shift:=xlToRight
    Columns("B:B").Select
    Selection.Cut
    Columns("F:F").Select
    Application.CutCopyMode = False
    Selection.Cut
    Columns("B:B").Select
    Application.CutCopyMode = False
    Selection.Cut
    Columns("F:F").Select
    Selection.Insert Shift:=xlToRight
    Sheets("Sheet1").Select
    Range("J2").Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],Sheet2!C[-7]:C[-6],2,FALSE)"
    Range("J2").Select
    Selection.AutoFill Destination:=Range("J2:J8")
    Range("J2:J500").Select
    Range("K2").Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],Sheet2!C[-7]:C[-6],2,FALSE)"
    Range("K2").Select
    Selection.AutoFill Destination:=Range("K2:K8")
    Range("K2:K500").Select
    Columns("J:K").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
Rows("1:1").Select
    Selection.AutoFilter
    ActiveSheet.Range("$A$1:$W$500").AutoFilter Field:=11, Criteria1:="NOTE"
    Sheets("Sheet2").Select
    Application.CutCopyMode = False
    ActiveWindow.SelectedSheets.Delete
End Sub
 
Laatst bewerkt door een moderator:
open je 2e werkmap vooraleer je deze macro draait en dan doet hij het goed.
Ofwel kan je met een getopenfilename die 2e werkmap openen binnen de macro
Code:
Sub TEST()

   Dim WBCopy

   For Each wb In Workbooks                      'loop alle open werkmappen af
      If wb.Name <> ThisWorkbook.Name Then Set WBCopy = wb: Exit For   ' de 1e werkmap die niet noemt als deze werkmap
   Next

   If WBCopy Is Nothing Then MsgBox "er is geen 2e werkmap open", vbCritical: Exit Sub   'foutje en einde macro

   WBCopy.Sheets(1).Cells.Copy                   'kopieer uit die 2e werkmap, het 1e werkblad
   ThisWorkbook.Activate                         'nu sta je zeker in deze werkmap

   Sheets.Add After:=ActiveSheet                 'leeg werkblad toevoegen
   ActiveSheet.Paste                             'ander werkblad daar naar toe kopieren
   Range("A:A,C:C").Select                       'de rest van de macro
   .....
 
Dus als ik eerst een file open met een andere naam dan 5100340135 - RS013610000243.xlsx dan moet het werken?
 
ja, een file die anders noemt dan deze file, er wordt niet gekeken of deze file (de file waar je macro in staat) "510034...." noemt.
Verder kan de macro vereenvoudigd worden, beter leesbaar, door al die select en selection weg te maken.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan