Как скопировать ячейки на другой лист, используя IF AND Macro? - PullRequest
0 голосов
/ 30 декабря 2018

Я хотел бы скопировать некоторые конкретные столбцы, если критерии удовлетворены.А именно, если значение в строке 4 равно «Fælles», а текст НЕ выделен жирным шрифтом.

Пожалуйста, посмотрите на мой код и скажите, что я делаю неправильно.У меня нет большого опыта работы с кодированием или VBA.

Private Sub CommandButton1_Click()

A = Worksheets("Stig Okt").Cells(Rows.Count, 1).End(xlUp).Row

For i = 34 To A

Next
If Worksheets("Stig Okt").Cells(i, 4).Font.Bold = False And Cells(i,4).Value = "Fælles" Then
    Worksheets("Stig Okt").Rows(i).Columns("A:H").Copy
    Worksheets("Laura Okt").Activate
    b = Worksheets("Laura Okt").Cells(Rows.Count, 1).End(xlUp).Row
    Worksheets("Laura Okt").Cells(b + 1, 1).Select
    ActiveSheet.Paste
End If

If Worksheets("Stig Okt").Cells(i, 4).Font.Bold = False And Cells(i, 4).Value = "Lagt ud" Then
    Worksheetss("Stig Okt").Rows(i).Columns("A:H").Copy
    Worksheets("Laura Okt").Activate
    b = Worksheets("Laura Okt").Cells(Rows.Count, 1).End(xlUp).Row
    Worksheets("Laura Okt").Cells(b + 1, 1).Select
    ActiveSheet.Paste
End If

Worksheets("Stig Okt").Activate


End Sub

Никаких ошибок не происходит, но на самом деле ничего не происходит, и я не понимаю, почему?

1 Ответ

0 голосов
/ 30 декабря 2018

Я предполагаю, что именно так должен выглядеть ваш код.
Я переместил Next после символов if, чтобы ваш код работал.

Private Sub CommandButton1_Click()

A = Worksheets("Stig Okt").Cells(Rows.Count, 1).End(xlUp).Row

For i = 34 To A
    If Worksheets("Stig Okt").Cells(i, 4).Font.Bold = False And Cells(i,4).Value = "Fælles" Then
        Worksheets("Stig Okt").Rows(i).Columns("A:H").Copy
        Worksheets("Laura Okt").Activate
        b = Worksheets("Laura Okt").Cells(Rows.Count, 1).End(xlUp).Row
        Worksheets("Laura Okt").Cells(b + 1, 1).Select
        ActiveSheet.Paste
    End If

    If Worksheets("Stig Okt").Cells(i, 4).Font.Bold = False And Cells(i, 4).Value = "Lagt ud" Then
        Worksheetss("Stig Okt").Rows(i).Columns("A:H").Copy
        Worksheets("Laura Okt").Activate
        b = Worksheets("Laura Okt").Cells(Rows.Count, 1).End(xlUp).Row
        Worksheets("Laura Okt").Cells(b + 1, 1).Select
        ActiveSheet.Paste
    End If
Next
Worksheets("Stig Okt").Activate


End Sub
...