/ / Intervalo, Selecionar, Alterar conteúdo, Alinhamento ou Deslocamento? - excel, vba, excel-vba

Intervalo, Selecionar, Alterar conteúdo, Alinhamento ou Deslocamento? - excel, vba, excel-vba

Eu tenho um caso no momento em que estou me movendoabaixo a coluna com os nomes abaixo e clicando em uma macro, que então marca o indicador com 35, algumas colunas abaixo à direita. Devido à natureza da página, estou querendo contar a que distância da lista estou quando reviso um nome e ativo a macro. Então, o que eu quero fazer é, em vez de apenas selecionar e marcar o único nome que eu quero marcar essa linha e todas as linhas anteriores com um 35. Dessa forma, os gráficos e calculados valor COUNTA muda com o progresso do revisor como ele / ela vai na folha.

         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

Meus scripts para a macro são os seguintes:

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

Então, como um FYI, minha macro de exportação que deveria exportar itens de linha que são destacados manualmente (não os itens precedentes preenchidos automaticamente).

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

Então, o que eu pensei é, é possível, porminha primeira macro, seja capaz de ter um marcador (35) em 6 colunas à direita. Ter todas as linhas precedentes marcadas também, então talvez apenas um marcador na sétima coluna dessa linha. Dessa forma, minha contagem de linhas calculada é executada na nova coluna 6. E minha exportação está fora do número da coluna 7.

Respostas:

0 para resposta № 1

Isso pode ser simplificado muito facilmente para afetar as células de 2 para a linha atual, seis colunas para a direita-

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

Se você quisesse anotar onde a última exportação foi, você poderia adicionar algo como -

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