2017-02-10 6 views
0

Я пытаюсь создать процесс утверждения прямо сейчас, и для этого у меня есть сводный лист, в котором в настоящее время показаны детали предложений, а затем подробный лист, где я я сохраняю журнал того, что одобрено. В настоящее время вы вводите информацию о предложении во второй лист (информация о предложениях), а затем утверждающий может просмотреть раскрывающийся список, чтобы увидеть, что открыто, и его необходимо одобрить. У меня все работает, кроме того, мне нужно, чтобы он нажал кнопку, и он отправит имя пользователя утвердителя и дату в соответствующую ячейку на вкладке «Детали предложения». Я создал ключ в H1, который позволит коду найти правильную строку, что соответствует столбцу B на странице сведений о предложениях, соответствует тому, что находится на вкладке «Сводка» в H1.Командная кнопка для утверждений на другом листе

У меня есть этот код, который я написал ниже, но он не работает. Ячейки, в которых имя пользователя должно войти в столбец M на лист подробных данных предложения (как только он найдет правильную строку на основе ключа в сводке). Он должен быть жестко запрограммирован, поэтому я могу сохранить его для целей аудита.

Если это не имеет смысла, дайте мне знать, и я попытаюсь уточнить.

Спасибо!

Private Sub CommandButton1_Click() 
Dim rng As Range 
Dim cell As Object 
With Sheets("Offer Details") 
    Set rng = Sheets("Offer Details").Range("B1:B1000") 
    For Each cell In rng 
     If cell.Value = Sheets("Offer Details").Cells(1, 8) Then 
      cell.Offset(0, 12).Value = Environ("USERNAME") 
      Exit For 
     End If 
    Next 
End With 
End Sub 
+0

'Cell' будет в колонке' b'. Если вы компенсируете это на 12 столбцов, не будет ли это столбцом 'N'? Кроме того, поскольку вы используете 'With Sheets (« Детали предложения »)' в этом 'With', вам не нужно его повторять. Вы можете просто использовать ведущий '.', т. Е.' Set rng = .Range ("B1: B1000") '. – BruceWayne

ответ

0

Вы можете сделать это, если вам нужно Колум "M" быть каждый раз, основание на вашем коде:

Private Sub CommandButton1_Click() 
Dim rng As Range 
Dim cell As Object 
Dim inc as Integer 
With Sheets("Offer Details") 
    Set rng = .Range("B1:B1000") 
    For Each cell In rng 
     inc = inc + 1 
     If cell.Value = .Cells(1, 8) Then 
      .Range("M" & inc) = Environ("USERNAME") 
      Exit For 
     End If 
    Next 
End With 
End Sub 
+0

По какой-то причине он по-прежнему не работает. Когда я нажимаю кнопку, ничего не происходит. Какие-либо предложения? – Lisa

+0

Nevermind, я просто указал лист, и он сработал. Огромное спасибо! – Lisa

+0

Добро пожаловать. Если проблема решена, и если ответ был хорошим, можете ли вы отметить ответ? –

Смежные вопросы