Macro Excel per controllare contenuto colonne

Anonimo
2016-04-22T16:27:40+00:00

Buona Sera , Avrei bisogno di una mano per risolvere la seguente situazione :

Ho un DataBase excel che gestisco con diverse userform ( inserimento dati , ricerca e modifica ecc. ) dovrei inserire una funzione/macro che mi verifichi prima di avviare una procedura di copia , se tutte le righe della "Colonna A " contengono come valore 1 e tutte le righe della " Colonna B " contengano 0 .

Colonna A Colonna B
1 0
1 0
1 0
1 0
1 0
1 0

Grazie anticipatamente per la certa attenzione

Ivo Allinoro

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2016-04-24T13:48:01+00:00

io non so cosa hai tu nelle tue colonne. Tu hai scritto che vuoi controllare se il valore è sempre 1 in colonna A e sempre 0 in colonna B. La mia routine lo fa:

Questo indipendentemente dai numeri di valori differenti nelle due colonne. Se non sono tutti 1 in A e tutti 0 in B restituisce Falso.

Se le tue colonne hanno una intestazione, modifica così le due righe di codice:

         If Evaluate("=SUM(Foglio1!A2:A" & lRiga & ")") = lRiga - 1 Then colA = True

         If Evaluate("=SUM(Foglio1!B2:B" & lRiga & ")") = 0 Then colB = True

Cosa hai realmente in quelle colonne? Puoi condividere un file su OneDrive o altro programma di sharing?

La risposta è stata utile?

0 commenti Nessun commento

4 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2016-04-24T17:02:50+00:00

    Bene!

    Ciao e alla prossima.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2016-04-24T17:00:50+00:00

    Grazie !

    Era proprio la parte relativa alle intestazioni che mi mancava .

    Le due colonne contengono esattamente un (1) ed uno (0) il problema era che essendo intestate " Invio " , la formula doveva partire da A2 e B2 , Io avevo modificato la tua mettendo A2 e B2 ma non il -1 dopo lRiga .

    Grazie per l'aiuto e per avermi fatto capire come affrontare in futuro problematiche simili .

    Ivo Allinoro

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2016-04-24T12:45:25+00:00

    Grazie per la pronta risposta , ho provato subito latua soluzione ma sulla colonna A il risultato è sempre FALSE ! , mentre sulla colonna B se una cella diventa 1 la risposta e FALSE .

    Cosa mi sfugge ?

    Grazie

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2016-04-22T17:12:18+00:00

    Database ed Excel non sono la stessa cosa...

    Per la tua richiesta, questa macro controlla nel Foglio1 quanto chiedi, ammesso che NON ci siano righe vuote:

    Public Sub m()

        Dim sh As Worksheet

        Dim lRiga As Long

        Dim colA As Boolean

        Dim colB As Boolean

        Set sh = ThisWorkbook.Worksheets("Foglio1")

        With sh

            lRiga = .Range("A" & .Rows.Count).End(xlUp).Row

            If Evaluate("=SUM(Foglio1!A1:A" & lRiga & ")") = lRiga Then colA = True

            If Evaluate("=SUM(Foglio1!B1:B" & lRiga & ")") = 0 Then colB = True

        End With

        MsgBox "Colonna A: " & colA & vbNewLine & "Colonna B: " & colB

        Set sh = Nothing

    End Sub

    La risposta è stata utile?

    0 commenti Nessun commento