Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
DJI Mini 5 Pro porta nella serie Mini il primo sensore CMOS da 1 pollice, unendo qualità d'immagine professionale alla portabilità estrema tipica di tutti i prodotti della famiglia. È un drone C0, quindi in un peso estremamente contenuto e che non richiede patentino, propone un gimbal rotabile a 225 gradi, rilevamento ostacoli anche notturno e autonomia fino a 36 minuti. Caratteristiche che rendono il nuovo drone un riferimento per creator e appassionati
ASUS Expertbook PM3: il notebook robusto per le aziende
ASUS Expertbook PM3: il notebook robusto per le aziende
Pensato per le necessità del pubblico d'azienda, ASUS Expertbook PM3 abbina uno chassis particolrmente robusto ad un pannello da 16 pollici di diagonale che avantaggia la produttività personale. Sotto la scocca troviamo un processore AMD Ryzen AI 7 350, che grazie alla certificazione Copilot+ PC permette di sfruttare al meglio l'accelerazione degli ambiti di intelligenza artificiale
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo
Abbiamo provato per diversi giorni una new entry del mercato italiano, la Gowow Ori, una moto elettrica da off-road, omologata anche per la strada, che sfrutta una pendrive USB per cambiare radicalmente le sue prestazioni
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 03-06-2009, 14:43   #1
john_revelator
Senior Member
 
L'Avatar di john_revelator
 
Iscritto dal: Jul 2007
Messaggi: 1092
[vba] not in array

Ciao a tutti. Scusate la domanda sicuramente banale ma anche google non mi è stato d'aiuto.

Esempio

Codice:
array = array(1,3,5)
for i = 1 to 10
 if i not in array then
   msgbox i
 end if
next i
Come penso si intuisca lo scopo del codice è quello di stampare i numeri da 1 a 10 escludendo quelli definiti nell'array. L'intenzione è quella di evitare una serie lunghissima di and che nel mio caso reale sarebbe fastidioso. Quale costrutto posso usare? Ciao e grazie.

Ultima modifica di john_revelator : 03-06-2009 alle 14:47.
john_revelator è offline   Rispondi citando il messaggio o parte di esso
Old 03-06-2009, 15:27   #2
john_revelator
Senior Member
 
L'Avatar di john_revelator
 
Iscritto dal: Jul 2007
Messaggi: 1092
Continuando a cercare ho trovato una possibile soluzione

http://www.dailydoseofexcel.com/arch...ction-members/

Codice:
Sub exclusion()

    Dim SheetsToKeep As String
    Dim i As Long
    Dim ws As Worksheet
    
    ‘Names of sheets to keep
    ‘note the last comma
    SheetsToKeep = “Save1,Save2,Save3,”
    
    ‘Loop through the sheets
    For Each ws In ThisWorkbook.Worksheets
        ‘See if the sheet’s name is in the string
        ‘don’t forget the comma
        If InStr(1, SheetsToKeep, ws.Name & “,”) = 0 Then
            ws.Delete
        End If
    Next ws
    
End Sub
che fa uso della funzione instr. Non dovessi trovare di meglio adotterò quella ma se esiste un modo più elegante ben venga.
john_revelator è offline   Rispondi citando il messaggio o parte di esso
Old 03-06-2009, 15:45   #3
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da john_revelator Guarda i messaggi
Come penso si intuisca lo scopo del codice è quello di stampare i numeri da 1 a 10 escludendo quelli definiti nell'array.
Codice:
Private Function TrovaInArray(valore As Variant, A() As Variant) As Long
  
    Dim i As Long
    For i = LBound(A) To UBound(A)
        If valore = A(i) Then
            TrovaInArray = i
            Exit Function
        End If
    Next i
    TrovaInArray = -1
     
End Function
Ritorna l'indice della prima occorrenza trovata nell'array passato come argomento. Se non trova occorrenze, ritorna -1.

E qui, come usarla :

Codice:
    Dim mioArray() As Variant
    mioArray = Array(1, 3, 5)
    Dim i As Integer
    For i = 1 To 10
         If TrovaInArray(i, mioArray) = -1 Then MsgBox i
    Next i
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 03-06-2009, 16:08   #4
john_revelator
Senior Member
 
L'Avatar di john_revelator
 
Iscritto dal: Jul 2007
Messaggi: 1092
Ah, quindi non esiste nessun costrutto precotto e occorre costruirsi una funzioncina ad hoc. Mi inchino come sempre al tuo sapere. Grazie mille Marco.
john_revelator è offline   Rispondi citando il messaggio o parte di esso
Old 03-06-2009, 23:50   #5
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da john_revelator Guarda i messaggi
Ah, quindi non esiste nessun costrutto precotto e occorre costruirsi una funzioncina ad hoc. Mi inchino come sempre al tuo sapere. Grazie mille Marco.
Beh, sì. VBA è più spartano, ma ovviamente non è una regola generale di VB.
in VB.NET ad esempio il tutto si ridurrebbe ad una riga di codice :

Codice:
        Dim mioArray() As Integer = {1, 3, 5}
        For i As Integer = 1 To 10
            If Not mioArray.Contains(i) Then MsgBox(i)
        Next
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 04-06-2009, 20:36   #6
john_revelator
Senior Member
 
L'Avatar di john_revelator
 
Iscritto dal: Jul 2007
Messaggi: 1092
Decisamente più pratico. Bisogna che prenda coraggio e provi a iniziare a studiare vb.net. Grazie ancora.
john_revelator è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice Recensione DJI Mini 5 Pro: il drone C0 ultra-leg...
ASUS Expertbook PM3: il notebook robusto per le aziende ASUS Expertbook PM3: il notebook robusto per le ...
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo Test ride con Gowow Ori: elettrico e off-road va...
Recensione OnePlus 15: potenza da vendere e batteria enorme dentro un nuovo design   Recensione OnePlus 15: potenza da vendere e batt...
AMD Ryzen 5 7500X3D: la nuova CPU da gaming con 3D V-Cache per la fascia media AMD Ryzen 5 7500X3D: la nuova CPU da gaming con ...
Cloudflare si scusa e spiega cos'è...
Obbligati ad acquistare una scheda madre...
GTA VI su PC? La data non c'è, ma...
Monopattini elettrici, a un anno dal dec...
Tesla Robotaxi, autista di sicurezza si ...
Samsung Galaxy S26: svelate le combinazi...
Microsoft Ignite: arriva Edge for Busine...
OPPO e Lamine Yamal uniscono sport e tec...
Microsoft, NVIDIA e Anthropic siglano un...
SpaceX potrebbe comunicare alla NASA rit...
Scoperte cavità sotterranee scava...
OnePlus anticipa l'arrivo di due nuovi p...
DJI lancia Osmo Action 6: la prima actio...
NASA: conferenza stampa sulla cometa int...
Ex CEO di TSMC passa a Intel: aperta un'...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 06:19.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v