Novità

aiuto script

alipante

Junior Member
buonasera a tutti,
mi potete aiutare a capire xche' il seguente codice script x spaziometria mi da i seguenti errori?
grazie mille....
errore.jpg
Codice:
Option Explicit

Sub TrovaFrequenzaAmbi()
    Dim ws As Worksheet
    Dim outputWs As Worksheet
    Dim dataRange As Range
    Dim cell As Range
    Dim ambiDict As Object
    Dim ambi As String
    Dim nMesi As Long
    Dim startDate As Date
    Dim endDate As Date
    Dim outputRow As Long
    Dim arrNumeri() As String
    Dim i As Long

    ' Imposta il foglio di lavoro e il dizionario per gli ambi
    Set ws = ThisWorkbook.Sheets("Estrazioni") ' Cambia il nome del foglio se necessario
    Set ambiDict = CreateObject("Scripting.Dictionary")
    
    ' Imposta la gamma delle estrazioni
    Set dataRange = ws.Range("A2:B" & ws.Cells(ws.Rows.Count, "A").End(xlUp).Row)
    
    ' Input per il numero di mesi
    nMesi = InputBox("Inserisci il numero di mesi per analizzare le estrazioni:", "Frequenza Ambi", 6)
    
    ' Calcola le date di inizio e fine
    endDate = Date
    startDate = DateAdd("m", -nMesi, endDate)

    ' Cicla attraverso le righe delle estrazioni
    For Each cell In dataRange.Rows
        If cell.Cells(1, 1).Value >= startDate And cell.Cells(1, 1).Value <= endDate Then
            arrNumeri = Split(cell.Cells(1, 2).Value, ",") ' Supponendo che i numeri siano separati da virgole
            
            ' Trova tutti gli ambi
            For i = LBound(arrNumeri) To UBound(arrNumeri) - 1
                ambi = Trim(arrNumeri(i)) & "-" & Trim(arrNumeri(i + 1))
                If ambiDict.Exists(ambi) Then
                    ambiDict(ambi) = ambiDict(ambi) + 1
                Else
                    ambiDict.Add ambi, 1
                End If
            Next i
        End If
    Next cell

    ' Crea un nuovo foglio per il resoconto
    Set outputWs = ThisWorkbook.Sheets.Add
    outputWs.Name = "Frequenza Ambi"
    outputWs.Cells(1, 1).Value = "Ambo"
    outputWs.Cells(1, 2).Value = "Frequenza"
    
    ' Scrivi i risultati nel foglio di output
    outputRow = 2
    For Each ambi In ambiDict.Keys
        outputWs.Cells(outputRow, 1).Value = ambi
        outputWs.Cells(outputRow, 2).Value = ambiDict(ambi)
        outputRow = outputRow + 1
    Next ambi

    MsgBox "Frequenza degli ambi calcolata con successo!", vbInformation
End Sub
 
Ciao probabilmente, tiro solo ad indovinare :), hai provato a realizzare uno script .ls con AI o con tool similare ma spaziometria non vuole la definizione delle variabili con As come vbs o vba ad esempio e quindi ti da errore. Le AI se non specificatamente istruite sul nuovo linguaggio (x loro) spazioscript tendono a dare molte volte questo tipo di errore.
 
si ho provato con chat gpt😅:giggle:

Hai fatto bene, le AI ad oggi sono in grado di imparare nuovi linguaggi come spazioscript appunto quindi si apre un mondo di nuove possibilità in tal senso :) Io ho fatto così: prima ho detto a notebook google lm (altra ai free) di farmi un riassunto del file pdf spazioscript e in particolare delle funzioni e logica di quel linguaggio specificatamente per il lotto e poi ho dato in pasto il suo sunto a chatgpt e a claude e a notdiamond (piattaforma free multi AI). E qualcosa sono riuscito a creare... :) Prossimamente forse aprirò un thread dedicato agli script .ls creati by AI. Ciao
 
Benissimo: questa AI dove la trovo ? :unsure: 🤣

Alien l'ho appena detto nella mia risposta.. ma ci riprovo.. : chatgpt famosissima di openai , claude famosissimo di anthropic , copilot su bing e su whatsapp , notdiamod (le riassume tutte... o quasi..) , phind , perplexity e molte altre :) Sull'altro forum poi ti ho messo anche come chattare con i loro avatar "personificati" 😄
 
buonasera a tutti,
mi potete aiutare a capire xche' il seguente codice script x spaziometria mi da i seguenti errori?
grazie mille....
Vedi l'allegato 2292283
Codice:
Option Explicit

Sub TrovaFrequenzaAmbi()
    Dim ws As Worksheet
    Dim outputWs As Worksheet
    Dim dataRange As Range
    Dim cell As Range
    Dim ambiDict As Object
    Dim ambi As String
    Dim nMesi As Long
    Dim startDate As Date
    Dim endDate As Date
    Dim outputRow As Long
    Dim arrNumeri() As String
    Dim i As Long

    ' Imposta il foglio di lavoro e il dizionario per gli ambi
    Set ws = ThisWorkbook.Sheets("Estrazioni") ' Cambia il nome del foglio se necessario
    Set ambiDict = CreateObject("Scripting.Dictionary")
  
    ' Imposta la gamma delle estrazioni
    Set dataRange = ws.Range("A2:B" & ws.Cells(ws.Rows.Count, "A").End(xlUp).Row)
  
    ' Input per il numero di mesi
    nMesi = InputBox("Inserisci il numero di mesi per analizzare le estrazioni:", "Frequenza Ambi", 6)
  
    ' Calcola le date di inizio e fine
    endDate = Date
    startDate = DateAdd("m", -nMesi, endDate)

    ' Cicla attraverso le righe delle estrazioni
    For Each cell In dataRange.Rows
        If cell.Cells(1, 1).Value >= startDate And cell.Cells(1, 1).Value <= endDate Then
            arrNumeri = Split(cell.Cells(1, 2).Value, ",") ' Supponendo che i numeri siano separati da virgole
          
            ' Trova tutti gli ambi
            For i = LBound(arrNumeri) To UBound(arrNumeri) - 1
                ambi = Trim(arrNumeri(i)) & "-" & Trim(arrNumeri(i + 1))
                If ambiDict.Exists(ambi) Then
                    ambiDict(ambi) = ambiDict(ambi) + 1
                Else
                    ambiDict.Add ambi, 1
                End If
            Next i
        End If
    Next cell

    ' Crea un nuovo foglio per il resoconto
    Set outputWs = ThisWorkbook.Sheets.Add
    outputWs.Name = "Frequenza Ambi"
    outputWs.Cells(1, 1).Value = "Ambo"
    outputWs.Cells(1, 2).Value = "Frequenza"
  
    ' Scrivi i risultati nel foglio di output
    outputRow = 2
    For Each ambi In ambiDict.Keys
        outputWs.Cells(outputRow, 1).Value = ambi
        outputWs.Cells(outputRow, 2).Value = ambiDict(ambi)
        outputRow = outputRow + 1
    Next ambi

    MsgBox "Frequenza degli ambi calcolata con successo!", vbInformation
End Sub
questo non è codice per Spaziometria, questo è codice vba per ecxel

Ps: se aspetti meno di 24 ore vedrai apparire la mia ombra che ti spiegherà tutto.
 
Ultima modifica:

Ultima estrazione Lotto

  • Estrazione del lotto
    giovedì 30 aprile 2026
    Bari
    02
    58
    76
    30
    50
    Cagliari
    28
    06
    35
    51
    39
    Firenze
    46
    27
    71
    88
    50
    Genova
    01
    08
    15
    17
    38
    Milano
    82
    50
    87
    51
    02
    Napoli
    65
    38
    37
    53
    46
    Palermo
    56
    62
    58
    10
    67
    Roma
    57
    82
    49
    80
    02
    Torino
    39
    74
    29
    35
    47
    Venezia
    54
    76
    22
    73
    85
    Nazionale
    69
    62
    88
    43
    21
    Estrazione Simbolotto
    Genova
    01
    37
    04
    17
    23
Indietro
Alto