2017-03-28 2 views
0

Ich habe ein Excel-Blatt, das durch mehrere Seitenumbrüche getrennt ist - für jede Änderung in Spalte C (Spalte C steht für spezifische ProjecID).Bereich zwischen zwei Seitenumbrüchen definieren VBA

Jede Zeile der Tabelle enthält einen bestimmten Betrag, der verbraucht wurde. Dieser Betrag wird in Spalte Q gespeichert. (Hinweis - für jedes Projekt können mehrere Zeilen vorhanden sein - Beträge in Spalte Q).

Abhängig davon, ob die Zwischensumme (Spalte Q) pro Projekt (Spalte C) < 0 oder> 0, ist, sollten verschiedene Operationen innerhalb dieses Bereichs ausgeführt werden.

Frage - Wie werden diese Bereiche (zwischen zwei Seitenumbrüchen) durchlaufen, um die Zwischensumme zu prüfen und die entsprechenden Operationen für die Zeilen innerhalb jedes Bereichs auszuführen?

Vielen Dank im Voraus

Antwort

1

folgenden Code alle vorherigen Seite löscht & dann können Sie einen Bereich einrichten,

Sub PageBreak()  
Dim CellRange As Range 
Dim TestCell As Range 

Set CellRange = Selection 
For Each TestCell In CellRange 
    ActiveSheet.Rows(TestCell.Row).PageBreak = xlPageBreakNone  
    If TestCell.Value <> TestCell.Offset(-1, 0).Value Then 
     ActiveSheet.Rows(TestCell.Row).PageBreak = xlPageBreakManual   
    End If  
Next TestCell 
End Sub 

NB: Wählen Sie die Zellen aus, wo Sie Splits wollen, zählen nicht Wenn Sie den Col-Überschriften entsprechen, würden Sie den Bereich in D3 bis D30 auswählen, wenn sich der Country-Name in Spalte D aus den Zeilen 2 bis 30 befindet.

+0

Vielen Dank für Ihre Hilfe – Ivica

0

versuchen Sie dies. Es entfernt Seitenumbrüche von allen Blättern. Ich hoffe es hilft.

 Sub PageBreak() 

     Dim ws As Worksheet, tws As Worksheet 
      Set tws = ActiveSheet 
      For Each ws In Worksheets 
       ws.Activate 
       ActiveWindow.View = xlPageBreakNone 
       Next ws 
       tws.Activate 
     End Sub 
+0

Vielen Dank für Ihre Hilfe, wird sich als nützlich in der Zukunft Codierung. – Ivica

+0

Sie sind willkommen. Hat der Code für Sie funktioniert? – MTBthePRO