Как создать код, который будет копировать ящик пользователя, если что-то уже есть в существующей ячейке - PullRequest
0 голосов
/ 11 сентября 2018

Итак, у меня есть документ, над которым я работаю, это лист состояния.я хочу иметь кнопку, которая будет перемещать людей из предыдущих комнат в новую.Прямо сейчас у меня настроено, что я могу скопировать человека в комнате на другую страницу, а затем вставить его в новую комнату, если в этой комнате нет кого-то еще.если кто-то находится в новой комнате, он просто перезаписывает это.Я не хочу этого делать.Я хочу, чтобы это было, если кто-то находится в новой комнате, он скопирует и вставит свою информацию в старый лист, а затем вытащит другую пользовательскую форму, чтобы спросить, куда поместить того человека, который был в новой комнате.Если в этом есть смысл, то мой код.

Private Sub CommandButton1_Click()
If Trim(TextBox1.Value) = "" Then
MsgBox "error"
Exit Sub
Else
'old room number
Me.TextBox1.Value = Me.TextBox1.Value
''find first person
Cells.find(What:=Me.TextBox1.Value, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
    xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
    , SearchFormat:=False).Activate
Range(ActiveCell.Offset(0, 1), ActiveCell.Offset(0, 6)).Copy
''find location to paste in sheet1
Sheets("Sheet1").Select
Range("A1:F1").Insert
'clear first person


Sheets("Status Sheet").Activate
Cells.find(What:=Me.TextBox1.Value, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
    xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
    , SearchFormat:=False).Activate
    Range(ActiveCell.Offset(0, 1), ActiveCell.Offset(0, 6)).ClearContents
UserForm1.Show
Me.TextBox1.Value = ""

Me.Hide
End If
End Sub

второй код для второй пользовательской формы, которая открывает

Private Sub CommandButton1_Click()

If Trim(TextBox2.Value) = "" Then
MsgBox "error"
Exit Sub
Else
'old room number
Me.TextBox2.Value = Me.TextBox2.Value
Me.TextBox3.Value = Me.TextBox3.Value
''find person
Sheets("Sheet1").Activate
Cells.find(What:=Me.TextBox3.Value, After:=ActiveCell, LookIn:=xlValues, LookAt:= _xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _,SearchFormat:=False).Activate
Range(ActiveCell.Offset(0, -1), ActiveCell.Offset(0, 4)).Copy

Sheets("Status Sheet").Activate
Cells.find(What:=Me.TextBox2.Value, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
    xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
    , SearchFormat:=False).Activate
ActiveCell.Offset(, 1).PasteSpecial

Sheets("Sheet1").Activate
Cells.find(What:=Me.TextBox3.Value, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
    xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
    , SearchFormat:=False).Activate
Range(ActiveCell.Offset(0, -1), ActiveCell.Offset(0, 4)).EntireRow.Delete

Sheets("Status Sheet").Activate


Me.TextBox2.Value = ""
Me.TextBox3.Value = ""


Me.Hide

End If


End Sub

СПАСИБО !!!!

...