Привет, новичок в написании VBA, так что, вероятно, много потраченного впустую пространства, и вещи, которые могут не работать / переутомляться, усложняют вещи.
Я пытаюсь добавить разрывы страниц в таблице, чтобы разделить учетные записи, используя их учетную запись. коды, я думал, что я мог бы использовать оператор IF там, чтобы заставить его проверить ячейку над ней, чтобы увидеть, соответствует ли она текущей ячейке, если она делает это, сбрасывает другую ячейку и повторяется, если он не добавляет на странице перемена. Я посмотрел онлайн и взял немного материала, который написали другие люди, и попытался, насколько я понимаю, «если», чтобы заставить его работать, но я достиг стены, где я просто не знаю, что я сделал неправильно .
Sub Page_Break()
Dim accountname As String
Dim firstrun As Boolean
Dim rowvalue As Integer
Dim x As Integer
Dim y As Integer
x = 1
y = ActiveWorkbook.Worksheets("Sheet1").Range("A2", Worksheets("Sheet1").Range("A2").End(xlDown)).Rows.Count
rowvalue = ActiveCell.row
firstrun = True
Do While x <= y
If firstrun = True Then
Range("A2").Select
accountname = ActiveCell.Text
ActiveCell.Offset(1, 0).Select
If ActiveCell.Text <> accountname Then
Worksheets("Sheet1").Rows(rowvalue).PageBreak = xlPageBreakManual
Else
ActiveCell.Offset(1, 0).Select
firstrun = False
x = x + 1
End If
Else
accountname = ActiveCell.Text
ActiveCell.Offset(1, 0).Select
If ActiveCell.Text <> accountname Then
Worksheets("Sheet1").Rows(rowvalue).PageBreak = xlPageBreakManual
Else
ActiveCell.Offset(1, 0).Select
x = x + 1
End If
End If
Loop
End Sub
Другие биты в коде не могли работать вообще, но так как я не могу обойти ошибку компиляции без l oop, я не смог протестировать остальную часть, чтобы исправить где я напутал или использовал неправильные термины и т. д.
Если кто-то может взглянуть и подсказать, что я делаю неправильно, используя if или если вы думаете, что есть гораздо более простой способ завершить то, что я Пожалуйста, дайте мне знать, так как я больше делаю это для опыта, так что, если я сам смогу решить, что я сделал неправильно с остальным, то fantasti c.
Спасибо
Редактировать: Из глупости мне приходит в голову, что я забыл l oop в конце, который, вероятно, и был причиной ошибки, которую я имел (это был долгий день).
Это, как говорится Я оставлю это, и если кто-нибудь могу указать на любые другие блестящие ошибки, которые есть в этом, тогда я во что бы то ни стало буду признателен.
Редактировать 2: удалось заставить его работать, пожалуйста, дайте мне знать, если вещи могут быть сжаты или не нужны.
Sub Page_Break()
Dim accountname As String
Dim firstrun As Boolean
Dim rowvalue As Integer
Dim x As Integer
Dim y As Integer
x = 1
y = ActiveWorkbook.Worksheets("Sheet1").Range("A2", Worksheets("Sheet1").Range("A2").End(xlDown)).Rows.Count
rowvalue = ActiveCell.Row
firstrun = True
Do While x <= y
If firstrun = True Then
Range("A2").Select
accountname = ActiveCell.Text
ActiveCell.Offset(1, 0).Select
If ActiveCell.Text <> accountname Then
rowvalue = ActiveCell.Row
Worksheets("Sheet1").Rows(rowvalue).PageBreak = xlPageBreakManual
Else
firstrun = False
x = x + 1
End If
Else
accountname = ActiveCell.Text
ActiveCell.Offset(1, 0).Select
If ActiveCell.Text <> accountname Then
rowvalue = ActiveCell.Row
Worksheets("Sheet1").Rows(rowvalue).PageBreak = xlPageBreakManual
Else
x = x + 1
End If
End If
Loop
End Sub