Hello
Ik heb hier een kleine probleem met mijn macro.
Dus wat ik wil is kopieren data van ene xls sheet en merg met andere data en in een andere xls inzetten.
Maar probleem is, is dat ik een fout krijg of soms als het werkt de derde resultaten xls is leeg, en met leeg bedoel ik dat daar zitten geen sheets in
Dus ik stel voor als iemand kan testen en misschien zeggen wat ik precies mis, ik zou echt tof vinden.
Want ik kan echt de fout niet vinden
Ik heb hier een kleine probleem met mijn macro.
Dus wat ik wil is kopieren data van ene xls sheet en merg met andere data en in een andere xls inzetten.
Maar probleem is, is dat ik een fout krijg of soms als het werkt de derde resultaten xls is leeg, en met leeg bedoel ik dat daar zitten geen sheets in
Code:
Sub auto_close()
Dim linkSrcFile As String
Dim targetSrcFile As String
Dim currentFilePath As String
Dim wkbLink As Workbook
Dim targetWkb As Workbook
Dim wksLinkWkb As Worksheet 'Link document
Dim wksCurrent As Worksheet 'Current
Dim targetWks As Worksheet 'Target = Results
'Dim currentWks As Worksheet
Dim docname As String
Dim user As String
'File names
Dim linkDoc As String
Dim resultDoc As String
linkDoc = "Link document.xls"
resultDoc = "Results.xls"
'On Error GoTo ErrorHandling
'Set Paths
linkSrcFile = Replace(ThisWorkbook.FullName, ThisWorkbook.Name, linkDoc)
targetSrcFile = Replace(ThisWorkbook.FullName, ThisWorkbook.Name, resultDoc)
'Get workbooks
Set wkbLink = GetObject(linkSrcFile)
Set targetWkb = GetObject(targetSrcFile)
'Get worksheets
Set wksLinkWkb = wkbLink.Worksheets("Sheet1")
Set wksCurrent = ThisWorkbook.Worksheets("Sheet1")
Set targetWks = targetWkb.Worksheets("Sheet1")
Dim nbColumns As Integer
Dim nbForUnhiddenColumn As Integer
'Determing the amount of columns
nbColumns = Range("1:1").Cells.SpecialCells(xlCellTypeConstants).Count
'Checking for unhidden column
For i = 1 To nbColumns
If Columns(i).Hidden = False Then
Debug.Print "Column is not hidden"
nbForUnhiddenColumn = i
Exit For
End If
Next i
'First row
'wksCurrent.Range("A1", "P1").Copy
wksCurrent.Range(Cells(1, 1), Cells(1, 16)).Copy
targetWks.Range("A1", "P1").PasteSpecial (xlPasteAll)
targetWks.Range("Q1").Value = "User"
'Looping thru the records in Link xls file
For i = 2 To wksLinkWkb.Range("A:A").Cells.SpecialCells(xlCellTypeConstants).Count
docname = wksLinkWkb.Cells(i, 3).Value
user = wksLinkWkb.Cells(i, 2).Value
'Looping thru Report.xls records
For j = 2 To wksCurrent.Range(nbForUnhiddenColumn & ":" & nbForUnhiddenColumn).Cells.SpecialCells(xlCellTypeConstants).Count
If wksCurrent.Cells(j, "J").Value = docname Then
Debug.Print "Match " & docname & " " & user
wksCurrent.Range(Cells(j, 1), Cells(j, nbColumns)).Copy
targetWks.Range(Cells(i, 1), Cells(i, nbColumns)).PasteSpecial (xlPasteAll)
targetWks.Cells(i, nbColumns + 1).Value = user
Exit For
End If
Next j
Next i
targetWkb.Save
targetWkb.Close
wkbLink.Close False
Debug.Print "Target workbook saved and closed"
Exit_thisSub:
Exit Sub
ErrorHandling:
Dim strMsg As String
Select Case Err.Number
Case 432
strMsg = "Error occured: Make sure the names of the files are correct: " & linkDoc & " and " & resultDoc & " and they are in the same map, as this one (" & ThisWorkbook.Name & ")"
MsgBox strMsg
targetWkb.Close False
wkbLink.Close False
Case Else
strMsg = "Error occured: " & Err.Number & " " & Err.Description
MsgBox strMsg
targetWkb.Close False
wkbLink.Close False
End Select
Exit Sub
End Sub
Dus ik stel voor als iemand kan testen en misschien zeggen wat ik precies mis, ik zou echt tof vinden.
Want ik kan echt de fout niet vinden
Laatst bewerkt: