• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Overnemen van tabel naar tabel in ander xls-file

Status
Niet open voor verdere reacties.

Rommyke

Gebruiker
Lid geworden
29 mrt 2007
Berichten
357
Hoi allemaal,

Ik heb een tabel waarin ik allemaal taken wil zetten die uitgevoerd moeten worden.
Als de taak gedaan is zet ik deze op afgehandeld .

Hoe of op welke manier kan ik een specifieke taak die nog niet afgehandeld in een andere tabel overnemen ?

Ik heb dus eigenlijk een excel file waar alle taken tegenlijkertijd instaan.
en excel files per taak met in beide files de zelfde opbouw van tabel

In bijlage is de file verventaken.xls de uitkomst die ik automatisch zou willen hebben als ik in de file algemeentaken.xls iets ingeef.
Zet je in de file algemeentaken een taak op afgehandeld dan mag deze niet meer voorkomen in de file verventaken.

Hoop dat het een beetje duidelijk is en dat iemand me verder op weg kan helpen


Groeten
Romain
 

Bijlagen

Hoi allemaal,

Heb er nog eens goed over nagedacht.

Weet niet of het een goede manier is maar

Is het niet mogelijk om een update macro te schrijven in de file verventaken.xls waarin je en filter schrijft voor de file algemeentaken met criteria1 verven en criteria2 niet afgehandeld en dit dan kopieren naar de file verventaken.xls ?


Is maar eens idee , weet niet of ik in de goede richting aan het denken ben ??:confused:
 
Dat is inderdaad een goed plan.

Hier is alvast code om gefilterde rijen te kopiëren:

Hoi Wigi ,

Bedankt voor de assist

Heb ondertussen onderstaande code gemaakt , lijkt me te werken maar denkt dat het nog beter kan
Als iemand nog input heeft , laat maar komen .

Code:
Sub openen()

Dim Filename As String
Dim LastRow As Integer
Const sPath As String = "C:\"

Filename = "AlgemeenTaken.xls"
Workbooks.Open Filename:=sPath & Filename

Range("b1").AutoFilter Field:=2, Criteria1:="verven"

LastRow = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count
    
    Range("A2:E" & LastRow).Select
    
    Selection.Sort Key1:=Range("a2"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
        
    Selection.Copy
    Windows("VervenTaken.xls").Activate
    Range("A2").Select
    ActiveSheet.Paste
    Windows("AlgemeenTaken.xls").Activate
    Application.CutCopyMode = False
    Selection.AutoFilter
    Application.DisplayAlerts = False
    ActiveWindow.Close
    Application.DisplayAlerts = True
    Range("A2").Select
    
End Sub

Bedankt
Groetjes Romain
 
Het kan inderdaad beter ;)

Waar gebruik je trouwens .SpecialCells(xlCellTypeVisible)? Als je dat niet doet, ga je volgens mij niet de juiste riijen kopiëren.

Voor het beter kunnen: probeer zo weinig mogelijk te selecteren.

Dus dit

Code:
Range("A2:E" & LastRow).Select
    
    Selection.Sort Key1:=Range("a2"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
        
    Selection.Copy

wordt

Code:
With Range("A2:E" & LastRow)
    
    .Sort Key1:=Range("a2"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
        
    .Copy
End With

Wigi
 
Hoi Wigi

Bedankt om me nog maar eens een beetje slimmer te maken

Heb er volgende code van gemaakt

Code:
Sub openen()
Dim Filename As String
Dim rngFiltered As Range
Dim LastRow As Integer
Const sPath As String = "C:\Documents and Settings\gebruiker\My Documents\"

Filename = "AlgemeenTaken.xls"
Workbooks.Open Filename:=sPath & Filename

Range("b1").AutoFilter Field:=2, Criteria1:="verven"

LastRow = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count

Set rngFiltered = Range("A2:E" & LastRow).SpecialCells(xlCellTypeVisible)
rngFiltered.Copy
      
    Windows("VervenTaken.xls").Activate
    Range("A2").Select
    ActiveSheet.Paste
    Windows("AlgemeenTaken.xls").Activate
    Application.CutCopyMode = False
    Selection.AutoFilter
    Application.DisplayAlerts = False
    ActiveWindow.Close
    Application.DisplayAlerts = True
    Range("A2").Select
    
End Sub

Ga hem nog even open laten tot hem perfect is


Groetjes
Romain
 
Romain

Hiermee kopieer en plak jij nu:

Code:
rngFiltered.Copy
      
    Windows("VervenTaken.xls").Activate
    Range("A2").Select
    ActiveSheet.Paste

je hoeft al die activate en select niet.

Code:
rngFiltered.Copy Workbooks("VervenTaken.xls").Sheets("desheetnamehiernoginvullen").Range("A2")

Wigi
 
Super Wigi :thumb:

Nogmaals bedankt ;)

Voor mij is deze topic hierbij gesloten


Groetjes
Romain
 
Laaste vraag nog ,

Heb de code nog een heel deel kunnen inkorte en hij lijkt volledig te werken


Ben ik te ijverige geweest en is hem onstabiel of zou het kunnen kloppen ??

Code:
Private Sub Workbook_Open()

Dim Filename As String
Dim rngFiltered As Range
Dim LastRow As Integer
Const sPath As String = "C:\Documents and Settings\gebruiker\My Documents\"

   Filename = "Algemeentaken.xls"
   Workbooks.Open Filename:=sPath & Filename

   Range("b4").AutoFilter Field:=2, Criteria1:="Incident potentieel ernstig"

   LastRow = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count


   Set rngFiltered = Range("F5:K" & LastRow).SpecialCells(xlCellTypeVisible)

   rngFiltered.Copy Workbooks("Verventaken.xls").Sheets("Sheet1").Range("A3")
  
   ActiveWorkbook.Close False
   Range("A3").Select
    
End Sub

Groetjes
Romain
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan