Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

creare un elenco squadre

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

creare un elenco squadre

Postdi raimea » 21/11/20 18:03

ciao
in foglio >> generale, col G
ho le 2 squadre di una partita di calcio.

vorrei creare l elenco alfabetico delle squadre
che sono state gestite.

nel foglio squadre vorrei riportare
1na sola volta , tutte le squadre analizzate di col G.

metterle in ordine alfabetico e a fianco scrivere
quante volte e' presente quella squadra
indifferentemente se in casa o fuori casa

vi allego il file

https://www.dropbox.com/s/e86ttq75lt7x3hm/squadre.rar?dl=0


ciao
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1257
Iscritto il: 11/02/10 07:33
Località: lago

Sponsor
 

Re: creare un elenco squadre

Postdi Anthony47 » 21/11/20 20:04

Probabilmente questa:
Codice: Seleziona tutto
Sub ListaTeams()
Dim gArea As Range, oSh As Worksheet, I As Long
Dim wArr, oArr(), mySplit, J As Long, oInd As Long
Dim tArr
'
Set gArea = ThisWorkbook.Sheets("generale").Range("G:G")            '<<< Colonna Sorgente
Set oSh = ThisWorkbook.Sheets("squadre")                            '<<< Foglio Destinazione
wArr = Application.Intersect(gArea.Parent.UsedRange, gArea).Value
ReDim oArr(1 To 1)
'Estrai le squadre:
For I = 1 To UBound(wArr)
    If wArr(I, 1) <> "" Then
        mySplit = Split(wArr(I, 1), "-", , vbTextCompare)
        If UBound(mySplit) = 1 Then
            For J = 0 To 1
                If IsError(Application.Match(Trim(mySplit(J)), oArr, False)) Then
                    oInd = UBound(oArr)
                    oArr(oInd) = Trim(mySplit(J))
                    ReDim Preserve oArr(1 To oInd + 1)
                End If
            Next J
        End If
    End If
Next I
'ordinamento in Bubble Sort:
For I = 1 To UBound(oArr) - 2
    For J = I + 1 To UBound(oArr) - 1
        If oArr(I) > oArr(J) Then
            tArr = oArr(I)
            oArr(I) = oArr(J)
            oArr(J) = tArr
        End If
    Next J
Next I
'Scrivi elenco squadre:
oSh.Range("A2").Resize(1000, 2).ClearContents
oSh.Range("A2").Resize(oInd, 1) = Application.WorksheetFunction.Transpose(oArr)
'Calcola e scrivi Occorrenze:
For I = 1 To UBound(oArr) - 1
    oInd = 0
    For J = 1 To UBound(wArr)
        If InStr(1, wArr(J, 1) & "  ", oArr(I), vbTextCompare) > 0 Then
            oInd = oInd + 1
        End If
    Next J
    oSh.Range("A2").Cells(I, 2) = oInd
Next I
MsgBox ("Vedi risultati su foglio " & oSh.Name)
End Sub

Ricchi commenti aiutano a seguire la macro.

Come sempre le righe marcate <<< andrebbero adattate al tuo caso; nel foglio di destinazione i risultati vengono scritti da A2:B2 verso il basso, mentre in A1:B1 puoi scrivere l’intestazione che preferisci.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17219
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: creare un elenco squadre

Postdi raimea » 21/11/20 20:27

ciao
e' tutto ok

ho sistemato le piccole cose come indica , come il scrivere

grazie
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1257
Iscritto il: 11/02/10 07:33
Località: lago


Torna a Applicazioni Office Windows


Topic correlati a "creare un elenco squadre":

Creare una partizione
Autore: Gaia.T
Forum: Software Linux
Risposte: 1

Chi c’è in linea

Visitano il forum: Nessuno e 10 ospiti