Condividi tramite

AIUTO PER VBA

Anonimo
2023-03-30T15:09:16+00:00

Buongiorno,

devo eseguire questa consegna ma non so come si fa... potreste aiutarmi?

Usare VBA per creare un nuovo foglio uguale a quello dell'origine dati con i seguenti pulsanti di comando:

  a. VERIFICA VUOTE, che, selezionata una colonna, fornisca in output una Message Box con il numero delle celle vuote

  c. VERIFICA NUMERI, che, selezionata una colonna numerica, verifichi che siano stati inseriti valori numerici e restituisca un messaggio opportuno in una Message Box; in caso negativo permetta di posizionarsi direttamente sulla prima cella da correggere

  c. VERIFICA CELLA, che, selezionata una cella qualunque, verifichi il tipo di contenuto e restituisca un messaggio opportuno in una Message Box; in caso negativo permetta di posizionarsi direttamente sulla prima cella da correggere (caso di cella vuota).

  1. Inserire nel foglio del punto 1 un push button Gestisci dati, che permetta di visualizzare un form dove l'utente possa inserire i dati seguenti:

  tutti i campi previsti nell'origine dati, con:

  - push button OK che permetta di inserire i nuovi dati in coda,

  - push button CANCEL per resettare i campi di input,

  - push button ANNULLA per cancellare la nuova riga inserita.

Verificare l'aggiornamento in tabella.

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

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

1 risposta

Ordina per: Più utili
  1. Anonimo
    2023-03-31T06:29:39+00:00

    La risposta è stata tradotta automaticamente. Di conseguenza, potrebbero esserci errori grammaticali o parole insolite.

    Ciao cristina manzoni

    Benvenuto nella community Microsoft.

    Posso aiutarti in questo. Ecco alcuni esempi di codice che puoi usare come punto di partenza per ottenere la funzionalità desiderata (poiché non ho ancora familiarità con l'italiano, il codice che ho creato è principalmente in inglese, ma l'ho testato io stesso e funziona).

    Sub CreateNewSheet()
        Dim newSheet As Worksheet
        Set newSheet = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
        newSheet.Name = "Data Source Copy"
        
        'Copy data from data source sheet to new sheet
        Dim dataSource As Worksheet
        Set dataSource = ThisWorkbook.Sheets("Data Source")
        dataSource.Cells.Copy newSheet.Cells
        
        'Add buttons
        Dim btnCheckEmpty As Button
        Set btnCheckEmpty = newSheet.Buttons.Add(10, 10, 100, 30)
        btnCheckEmpty.Caption = "CHECK EMPTY"
        btnCheckEmpty.OnAction = "CheckEmpty"
        
        Dim btnVerifyNumbers As Button
        Set btnVerifyNumbers = newSheet.Buttons.Add(120, 10, 100, 30)
        btnVerifyNumbers.Caption = "VERIFY NUMBERS"
        btnVerifyNumbers.OnAction = "VerifyNumbers"
        
        Dim btnVerifyCell As Button
        Set btnVerifyCell = newSheet.Buttons.Add(230, 10, 100, 30)
        btnVerifyCell.Caption = "VERIFY CELL"
        btnVerifyCell.OnAction = "VerifyCell"
    End Sub
    
    Sub CheckEmpty()
        Dim selectedColumn As Range
        Set selectedColumn = Selection.EntireColumn
        
        Dim emptyCells As Long
        emptyCells = Application.WorksheetFunction.CountBlank(selectedColumn)
        
        MsgBox emptyCells & " empty cells in selected column."
    End Sub
    
    Sub VerifyNumbers()
        Dim selectedColumn As Range
        Set selectedColumn = Selection.EntireColumn
        
        Dim cell As Range
        For Each cell In selectedColumn.Cells
            If Not IsNumeric(cell.Value) And Not IsEmpty(cell.Value) Then
                MsgBox "Non-numeric value found in cell " & cell.Address & "."
                cell.Activate
                Exit Sub
            End If
        Next cell
        
        MsgBox "All values in selected column are numeric."
    End Sub
    
    Sub VerifyCell()
        Dim selectedCell As Range
        Set selectedCell = Selection.Cells(1)
        
        If IsEmpty(selectedCell.Value) Then
            MsgBox "Selected cell is empty."
            selectedCell.Activate
            Exit Sub
        ElseIf IsNumeric(selectedCell.Value) Then
            MsgBox "Selected cell contains a numeric value."
            Exit Sub
        Else
            MsgBox "Selected cell contains a non-numeric value."
            Exit Sub
        End If
    End Sub
    

    Questo codice crea un nuovo foglio che è una copia del foglio origine dati e aggiunge tre pulsanti: CHECK EMPTY, VERIFY NUMBERS e VERIFY CELL. Ogni pulsante esegue una macro corrispondente quando si fa clic su di esso.

    • La macro CHECK EMPTY conta il numero di celle vuote nella colonna selezionata e visualizza il risultato in una finestra di messaggio.
    • La macro VERIFICA NUMERI controlla se tutte le celle della colonna selezionata contengono valori numerici e visualizza un messaggio appropriato. Se viene trovato un valore non numerico, la macro seleziona la prima cella di questo tipo.
    • La macro VERIFY CELL controlla il contenuto della cella attualmente selezionata e visualizza un messaggio appropriato. Se la cella è vuota, viene selezionata.

    È possibile aggiungere altro codice per creare un modulo per la gestione dei dati come descritto nel messaggio. Spero che questo aiuti! Fammi sapere se hai domande o hai bisogno di ulteriore assistenza. È possibile fare clic qui **** per scaricare il file di esempio.

    Migliori saluti

    Chandy | Specialista del supporto della community Microsoft

    La risposta è stata utile?

    0 commenti Nessun commento