title: Prompt file open, make changes and save as another copy, and close + unsave the original file
body: <p>I am trying to prompt user open file1 and file 2.
  then make changes (highlight non date cell) on file 2
  and then save copy of the changed file2.
  At the same time, keep the original file2 unsave and close it.</p>
  
  <p>Below is my code 
  Running result:</p>
  
  <p>file1 stays opened,</p>
  
  <p>file2 is highlighted but no copy is save , and it stays open</p>
  
  <p>kindly advise what is wrong with it.</p>
  
  <pre><code> Sub LogSAVEAS()
  
   'prompt open file 1
   N = Application.GetOpenFilename _
   (Title:="Please choose file1", _
   FileFilter:="Excel Files *.xls*; *.csv (*.xls*; *.csv),")
  Set twb = Workbooks.Open(N)
  
  If N = False Then
  MsgBox "No file selected. Please click run again and select file", 
  vbExclamation, "Sorry!"
  Exit Sub
  Else
  End If
  
  'prompt open file 2
  R = Application.GetOpenFilename _
  (Title:="Please choose file2", _
  FileFilter:="Excel Files *.xls*; *.csv (*.xls*; *.csv),")
  Set extwbk = Workbooks.Open(R)
  If R = False Then
  MsgBox "No file selected. Please click run again and select file.", 
  vbExclamation, "Sorry!"
  Exit Sub
  Else
  End If
  
  
  Dim WS As Worksheet
  
  For Each WS In extwbk.workseets 'highlight issue format cell in file2
  Call highlightdate(WS)
  
  Next
  
  
  Set extwbk = ActiveWorkbook
  ActiveWorkbook.Sheets.copy 'copy file2 with highlight and save as "log"
  dt = Format(CStr(Now), "yyyymmddhhmm")
  ActiveWorkbook.SAVEAS Filename:=extwbk.Path &amp; "\log" &amp; dt &amp; ".xlsx"
  
  ActiveWorkbook.Close savechanges:=True 'save and close log
  
  extwbk.Close savechanges:=False 'unsave and close file2
  
  twb.Close savechanges:=True 'save and close file1
  
  
  End Sub
  
  Sub highlightnondate(WS As Worksheet)
  
  With WS
    Set t = .Rows(1).Find("Date", lookat:=xlPart)
  
     If t Is Nothing Then Exit Sub
  
    For Each currentCell In Intersect(.Columns(t.Column), .UsedRange.Resize(.UsedRange.Rows.Count - 1, .UsedRange.Columns.Count).Offset(1, 0))
          If Not IsEmpty(currentCell) And Not IsDate(currentCell.Value) Then counter = counter + 1
       If Not IsEmpty(currentCell) And Not IsDate(currentCell.Value) Then currentCell.Interior.color = 56231
     Next currentCell
  
     End With
  
  
  End Sub
  </code></pre>