• 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.

2 codes combineren

Status
Niet open voor verdere reacties.

DeArie

Gebruiker
Lid geworden
15 jul 2016
Berichten
159
Ik zou graag de 2 onderstaande codes combineren:

Code:
Sub Tabnaam()
'zet naam tabblad in cel G1 en vult bedragen in
Dim naam
naam = Worksheets(2).Name ' (2) is tweede tabblad van een sheet
ActiveSheet.Range("G8") = Mid(naam, 1, 6)
Range("J54") = Sheets(2).Cells(Rows.Count, 7).End(xlUp).Value
Range("J57") = Sheets(2).Cells(Rows.Count, 9).End(xlUp).Value
Sheets(Array(1, 2)).Select
    Sheets(1).Activate

With Sheets(1)
  .Range("B17") = Format(CreateObject("scripting.filesystemobject") _
        .getfolder("C:\Users\D-post\OneDrive\Documenten\D-post\facturen\").Files.Count, "201900000") + 1
.Range("D17").Value = Date
NieuwFact = "C:\Users\D-post\OneDrive\Documenten\D-post\facturen\" & .Range("B17").Value & ".xlsx"
Windows(1).SelectedSheets.Copy
With ActiveWorkbook
    .Sheets(1).UsedRange = .Sheets(1).UsedRange.Value
    .SaveAs NieuwFact, 51
    '.Close
    End With
End With

ActiveSheet.PrintOut

End Sub

En deze:

Code:
Application.DisplayAlerts = False
         Blad = Worksheets(2).Name
              Sheets(2).Select
                  Sheets(2).Delete

Application.DisplayAlerts = True

Sheets(1).Select

Alleen de onderste zou hij pas moeten uitvoeren nadat ik het werkboek wat geopend blijft (is ook de bedoeling ) handmatig heb opgeslagen en afgesloten is dat mogelijk?
 
Zet die dan is the Workbook_BeforeClose in de ThisWorkbook module.

En deze regel gebruik je nergens voor:
Sheets(2).Select

Deze kan er sowieso uit:
Blad = Worksheets(2).Name

Deze zal je in de Workbook_BeforeSave moeten doen:
Sheets(1).Select


Maak er dus dit van:
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    If ThisWorkbook.Saved Then
        Application.DisplayAlerts = False
        Sheets(2).Delete
        Application.DisplayAlerts = True
    End If
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan