title: Message box not working the way it should and Looping duplicates data
body: <ul>
  <li>Is there a shorter way to do this? </li>
  <li>Like in one click and the data goes to where I want it to be? </li>
  <li>Or maybe a shorter code for this? </li>
  </ul>
  
  <p>Because the worksheet may vary but the details are all the same.. Please see the difference in <em>transfersheet2 and 3</em>...  </p>
  
  <p>Some cells may be blank in column C (referring to where I am copying from) but I want to copy it so that the details of each row won't be messed up. Can this be done? To copy even if it there is an empty cell?</p>
  
  <p>Also, something's wrong with my second and third loop... The second one, when I click it once, it's ok but if by accident you click it again the data will duplicate.. Is there a way to stop this duplication from happening? </p>
  
  <p>I tried using a message box but it's not working the way I want it to be.. I wanted the message box to appear only if I click it the second time... I think it's because of the offset I used... but I don't really know.</p>
  
  <pre><code>Sub TransferSheet1()
  
  Dim i As Long
  Dim LastRow As Long
  Dim wb As Workbook
  Dim sec As Worksheet
  Dim sht1 As Worksheet
  
  
  
  Set wb = ThisWorkbook
  Set sec = wb.Sheets("SECOND")
  Set sht1 = wb.Sheets("Sheet1")
  
  
  'Find the last row (in column c) with data.
   LastRow = sht1.Range("C:C").Find("*", searchdirection:=xlPrevious).row
   ii = 2
  
  
   'This is the beginning of the loop
   For i = 6 To LastRow
  'First activity
  sec.Range("A" &amp; ii) = sht1.Range("C" &amp; i).Value
  sec.Range("B" &amp; ii) = sht1.Range("D" &amp; i).Value
  sec.Range("C" &amp; ii) = sht1.Range("F" &amp; i).Value
  sec.Range("D" &amp; ii) = sht1.Range("G" &amp; i).Value
  ii = ii + 1
  Next i
  
  End Sub
  
  Private Sub GetValuesFromSheet2()
  
  Dim i As Long
  Dim ii As Long
  Dim LastRow As Long
  Dim wb As Workbook
  Dim sec As Worksheet
  Dim sht2 As Worksheet
  
  
  Set wb = ThisWorkbook
  Set sec = wb.Sheets("SECOND")
  Set sht2 = wb.Sheets("Sheet2")
  
  
  'Find the last row (in column c) with data.
  LastRow = sht2.Range("C:C").Find("*", searchdirection:=xlPrevious).row
  
  
  ii = 1
  
  'This is the beginning of the loop
  For i = 6 To LastRow
  'First activity
  sec.Range("A" &amp; Rows.count).End(xlUp).Offset(1) = sht2.Range("C" &amp; i).Value
  sec.Range("B" &amp; Rows.count).End(xlUp).Offset(1) = sht2.Range("D" &amp; i).Value
  sec.Range("C" &amp; Rows.count).End(xlUp).Offset(1) = sht2.Range("F" &amp; i).Value
  sec.Range("D" &amp; Rows.count).End(xlUp).Offset(ii, 1) = sht2.Range("G" &amp; i).Value
  ii = ii + 1
  Next i
  
  
  With Application
      .EnableEvents = True
      .DisplayAlerts = True
  End With
  MsgBox "Content Already copied"
  End Sub
  
  Private Sub CmdTransferSheet3_Click()
  
   Dim i As Long
  Dim ii As Long
  Dim LastRow As Long
  Dim wb As Workbook
  Dim sec As Worksheet
  Dim sht2 As Worksheet
  
  
  Set wb = ThisWorkbook
  Set sec = wb.Sheets("SECOND")
  Set sht2 = wb.Sheets("Sheet3")
  
  
  'Find the last row (in column c) with data.
  LastRow = sht2.Range("C:C").Find("*", searchdirection:=xlPrevious).row
  
  
  ii = 1
  
  'This is the beginning of the loop
  For i = 6 To LastRow
  'First activity
  sec.Range("A" &amp; Rows.count).End(xlUp).Offset(1) = sht2.Range("C" &amp; i).Value
  sec.Range("B" &amp; Rows.count).End(xlUp).Offset(1) = sht2.Range("D" &amp; i).Value
  sec.Range("C" &amp; Rows.count).End(xlUp).Offset(1) = sht2.Range("F" &amp; i).Value
  sec.Range("E" &amp; Rows.count).End(xlUp).Offset(ii,1) = sht2.Range("G" &amp; i).Value
  ii = ii + 1
  Next i
  
  End Sub
  </code></pre>