title: VBA Excel - Copy Rows to Another Workbook Sheet with conditions
body: <p>Newbie trying to mix and match codes on an excel workbook that is configured to prompt a login and to allow diff Id and PW to see different sheets.</p>
  
  <pre><code>If Me.userid.Value = "admin" And Me.userpw.Value = "admin" Then
  MsgBox "Login Successful!", vbInformation, "Login Alert"
  MsgBox "Entry and use data with caution and exercise confidentiality at all times!", vbExclamation, "Critical Reminder"
  
  Unload Me
  
  Sheets("Summary Report View").Visible = True
  Sheets("Summary Report View").Select
  Sheets("Data Validation").Visible = True
  Sheets("Data Entry 1").Visible = True
  Sheets("Data Entry 2").Visible = True
  Sheets("Data Entry 3").Visible = True
  </code></pre>
  
  <p>I have this challenge not being able to copy data from other workbook (a particular worksheet called 6-9months) to this workbook that I'm working on into Data Entry 1. The condition is to pick up all rows with the name "John" in Column I and paste to my active workbook sheet named "data entry 1". I attempted to activate the codes through a button click to pick up all the rows but it doesn't seem to work.</p>
  
  <pre><code>Confirmation = MsgBox("Are you sure to removal all contents? This is not reversible", vbYesNo, "Confirmation")
  
      Select Case Confirmation
      Case Is = vbYes
  
      Sheets("Data Entry 2").Cells.ClearContents
      MsgBox "Information removed", vbInformation, "Information"
  
      Dim GCell As Range
      Dim Txt$, MyPath$, MyWB$, MySheet$
      Dim myValue As String
      Dim P As Integer, Q As Integer
      Txt = "John"
  
      MyPath = "C:\Users\gary.tham\Desktop\"
      MyWB = "Book1.xlsx"
  
      'MySheet = ActiveSheet.Name
  
      Application.ScreenUpdating = False
  
      Workbooks.Open Filename:=MyPath &amp; MyWB
      lastrow = ActiveSheet.Range("A" &amp; Rows.Count).End(x1Up).Row
      For i = 2 To lastrow
  
      If Cells(i, 11) = txt Then
      Range(Cells(i, 1), Cells(i, 13)).Select
      Selection.Copy
      P = Worksheets.Count
      For Q = 1 To P
      If ThisWorkbook.Worksheets(Q).Name = "Data Entry 2" Then
      Worksheets("Data Entry 2").Select
      ThisWorkbook.Worksheets(Q).Paste
      End If
      Next Q
      End If
      Next i
  
      Case Is = vbNo
      MsgBox "No Changes Made", vbInformation, "Information"
  
      End Select
  </code></pre>