Копирование данных Excel с одного листа на другой - PullRequest
0 голосов
/ 02 августа 2020

У меня есть лист Excel с именем «Задача», который содержит две вкладки «Данные» и «DB-Task». Я хочу скопировать данные из таблицы «Данные» в «DB-Task». Лист «Данные» состоит из пяти столбцов (например, A, B, C, D, E, F). Я хочу, чтобы, если кто-то вводит данные в первой строке, они должны быть перенесены на другую вкладку. Если какой-либо из столбцов не заполнен, перед переносом данных на другой лист должно появиться всплывающее окно для ввода значений. И если во второй строке есть все данные, она должна быть перенесена на другой лист и выдать ошибку только для первой строки.

Я использую приведенный ниже код для копирования данных, и он успешно копирует данные с одного листа на другой. Теперь я не уверен, как мне эффективно использовать условие if, чтобы достичь желаемого

Dim sheet1 As Worksheet
Dim sheet2 As Worksheet
Dim endrow As Long

Set sheet1 = ActiveWorkbook.Sheets("Data")
Set sheet2 = ActiveWorkbook.Sheets("Delivery Task")

Application.ScreenUpdating = False

         endrow = sheet2.Range("A" & sheet2.Rows.Count).End(xlUp).Row
         sheet1.Range("A2:E10").Copy
         sheet2.Activate
         sheet2.Range("A" & endrow + 1).PasteSpecial Paste:=xlPasteValues
         Application.CutCopyMode = False
         sheet1.Activate
         Range("A2:E10").ClearContents

End Sub

1 Ответ

0 голосов
/ 02 августа 2020

Несмотря на то, что я новичок в VBA, позвольте мне помочь. Вы можете использовать эту подпрограмму, чтобы проверить, все ли столбцы заполнены для определенной строки, и на основе значения столбца 8 вы можете скопировать и передать файл

FindEmptyCells()
     Dim colnum As Long
     Dim rownum As Long
     Dim lastrow As Long
     lastrow = Sheets("Data").Range("A" & Rows.count).End(xlUp).Row
     For rownum = 1 To lastrow
     For colnum = 1 To 5
      If IsEmpty(Cells(rownum, colnum)) Then   '<== To Check for Empty Cells
     Cells(rownum, 8) = "Data Incomplete"      '<== To Enter value if empty cell found
     Else
     Cells(rownum, 8) = "OK"
     End If
     Next colnum
     Next rownum
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...