/ / Bereich, Auswählen, Inhalt ändern, Ausrichtung oder Versatz? - Excel, vba, excel-vba

Bereich, Auswählen, Inhalt ändern, Ausrichtung oder Offset? - Excel, VBA, Excel-VBA

Ich habe im Moment einen Fall, in dem ich mich bewegeKlicken Sie auf ein Makro, das dann den Indikator mit 35 ein paar Spalten nach rechts markiert. Aufgrund der Art der Seite möchte ich zählen, wie weit ich in der Liste bin, wenn ich einen Namen überprüfe und das Makro aktiviere. Ich möchte also nicht einfach den Namen auswählen und markieren, den ich für diese Zeile und alle vorangegangenen Zeilen mit 35 markieren möchte. Auf diese Weise ändern sich die Grafiken und der berechnete COUNTA-Wert mit dem Fortschritt des Gutachters das Blatt hinunter.

         Totals X   Y   Z   T   Marker  Indicator
TOM     xxxxxxx xxxxxxx xxxxxxx xxxxxxx     35
HARRY   xxxxxxx xxxxxxx xxxxxxx xxxxxxx
PAUL    xxxxxxx xxxxxxx xxxxxxx xxxxxxx
PETER   xxxxxxx xxxxxxx xxxxxxx xxxxxxx     35
TIM     xxxxxxx xxxxxxx xxxxxxx xxxxxxx

Meine Skripte für das Makro sind folgende:

Sub tester2()
Set Rng = ActiveCell
"
" tester2 Macro
"

"
ActiveCell.Offset(0, 6).Select

With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0

ActiveCell.Value = 35

Application.Goto Rng

End With
End Sub

Dann als FYI mein Exportmakro, das nur manuell hervorgehobene Werbebuchungen exportieren soll (nicht die automatisch ausgefüllten vorhergehenden).

Sub export()

Dim cell As Range
Dim lastRow As Long, i As Long

lastRow = Range("A" & Rows.Count).End(xlUp).Row
i = 1

For Each cell In Sheets(1).Range("G1:G" & lastRow)
If cell.Value = 35 Then
cell.EntireRow.Copy Sheets(2).Cells(i, 1)
i = i + 1
End If
Next

End Sub

Also, was ich gedacht habe, ist es möglich, zMein erstes Makro kann die eine Markierung (35) 6 Spalten nach rechts haben. Habe alle vorhergehenden Zeilen auch markiert, dann vielleicht nur eine Markierung in der 7. Spalte für diese Zeile. Auf diese Weise läuft meine berechnete Zeilenanzahl von der neuen Spalte 6 ab und mein Export von Spalte 7.

Antworten:

0 für die Antwort № 1

Dies kann ziemlich einfach vereinfacht werden, um die Zellen von 2 bis zur aktuellen Zeile zu beeinflussen, sechs Spalten nach rechts.

Sub tester2()

Dim col As Integer
col = ActiveCell.Column + 6
Dim row As Integer
row = ActiveCell.row
Dim rng As Range
Set rng = Range(Cells(2, col), Cells(row, col))

For Each c In rng
With c
.Interior.Pattern = xlSolid
.Interior.PatternColorIndex = xlAutomatic
.Interior.Color = 65535
.Interior.TintAndShade = 0
.Interior.PatternTintAndShade = 0
.Value = 35
End With
Next
End Sub

Wenn Sie wissen wollten, wo der letzte Export war, könnten Sie Folgendes hinzufügen:

ActiveCell.Offset(, 7) = "export"
Range(Cells(1, col + 1), Cells(row - 1, col + 1)).Clear