› Sviluppare funzionalita su Microsoft Office con VBA › modifica macro per controllo righe selezionate
-
AutoreArticoli
-
Ciao a tutti.
Questa macro è per contare le righe selezionate.
Per selezionarle bisogna inserirle nel msgbox che compare.
Funziona anche per righe non continue.
Sub CountRowsInSelection() Dim inputCells As Range Dim arrayR() As String Dim contaRows As Long Dim s, r As Range Set inputCells = Application.InputBox(Prompt:="Selection rows", Title:="Copia e incolla", Type:=8) arrayR = Split(inputCells.Address, ",") Dim i As Long For i = 0 To UBound(arrayR) contaRows = contaRows + Range(arrayR(i)).Rows.Count Next i MsgBox contaRows End SubNon capisco mi ha tagliato il messaggio
La modifica che chiedo è che si visualizzi in una cella E1 il numero delle righe selezionate anche non consecutive
senza usare il msgbox della macro.
Seleziono le righe > in cella E1 il numero delle righe
Range("e1").Value = Selection.Rows.CountGrazie luca e fsm ora il numero si visualizza nelle celle, ma non voglio usare l'inpubox della macro per selezionare le celle.
seleziono le celle anche non continue dal foglio > il numero in E1
Sub CountRowsInSelection() Dim inputCells As Range Dim arrayR() As String Dim contaRows As Long Set inputCells = Application.Selection arrayR = Split(inputCells.Address, ",") Dim i As Long For i = 0 To UBound(arrayR) contaRows = contaRows + Range(arrayR(i)).Rows.Count Next i Range("E1").Value = contaRows Set inputCells = Nothing End SubGrazie fsm
seleziono le celle anche non continue dal foglio > il numero in E1
una conferma: tu selezioni una singola cella per ogni riga che vuoi selezionare, giusto? per esempio: selezioni A4 + B5:B6 + D8 quindi hai 4 righe selezionate.
Si scossa va bene anche selezionare una cella per ogni riga
Utilizza l'evento Worksheet_SelectionChange() del foglio su cui vuoi attivarlo:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim rRow As Range, nRows As Long For Each rRow In Selection.Areas nRows = nRows + rRow.Rows.Count Next rRow Range("E1").Value = nRows End Subattenzione a non tornare a selezionare una cella di una riga già selezionata altrimenti quella riga verrà contata più volte.
Grazie anche a te scossa
Si scossa, è quello che cercavo.
Grazie ancora.
-
AutoreArticoli
