013. Classifica tramite VBA

Download PDF

Domanda:

Salve ho un problema da risolvere.
ho un foglio excel dove ricavo una classifica generale  di arrivo dando la posizione con un doppio click che mi inserisce via via la numerazione di classifica utilizzando quasta formula vba

Private Sub Worksheet_BeforedoubleClick( ByVal Target As Range, Cancel As Boolean)

If Not Intersect(Range("c3:c65536"),Target) Is Nothing Then
 If Cells(Target.Row, 1) = "" Then
 Cells(Target.Row, 1) = Application.Max(Range("a:a")) + 1
 End If
 End If
 Cancel = True
 End Sub

fino a qui tutto ok.

il problema è che vorrei sempre con doppio click oltre a fare la classifica generale di arrivo farla contemporaneamente per categoria. Continua a leggere

012. Funzione DB.MAX

Download PDF

Domanda:

Salve, sto cercando di utilizzare la funzione Db.Max.

Devo gestire N Attrezzature da lavoro, di cui rilevare periodicamente il monte ore di lavoro ccumulato.
La tabella origine (il database), da cui estrarre i dati, contiene le letture periodiche, con i seguenti 3 campi: Attrezzatura | Data della lettura | Ore.

Ora, nel campo Attrezzatura, ciascuna attrezzatura comparirà più volte (una per ogni volta che viene eseguita la lettura), quindi i record saranno più di N.

In una seconda tabella, voglio elencare tutte le attrezzature senza duplicati, e per ciascuna estrarre il valore massimo della data e dell\’ora. Quindi questa tabella avrà N record.

Il mio problema sta nel fatto che per specificare il criterio di ogni estrazione con DB.MAX, occorrerebbero 2 celle impilate per ciascuna attrezzatura: |Attrezzatura| (sopra) “nome dell’attrezzatura” (subito sotto).

Poiché la seconda tabella conterrà N righe, ma avrebbe bisogno di altre N coppie righe (tra l\’altro non adiacenti) per esprimere i criteri, chiedo:

È possibile esprimere i criteri in modo da non dover utilizzare le 2 celle?
Esiste una soluzione?
Non posso inviarvi un file di esempio in cui magari è più chiaro quello che ho tentato di spiegare?

Continua a leggere

011. Come sfruttare le funzioni di Excel

Download PDF

Spesso la soluzione dei problemi è sotto i nostri occhi ma nessuno ci aiuta a vederla.
Excel offre nativamente una vasta disponibilità di funzioni e spiegazioni sul loro funzionamento.
Aspettano solo di essere utilizzate da noi.

Supponiamo ad esempio di voler sapere i ricavi sui contratti che vengono sottoscritti di lunedì da ciascuno dei nostri agenti partendo da un elenco che contiene la data di sottoscrizione, l’agente che ha venduto il contratto ed il ricavo della vendita.

TabellaA

(fare click sull’immagine per ingrandire)

Continua a leggere

009. Convalida Dati

Download PDF

Domanda:

Devo inserire il numero di matricola dei dipendenti. Ho creato un menů a tendina. Ho una colonna con le matricole e nella colonna a fianco il relativo nome del dipendente. Vorrei che il nome mi comparisse nel menů a tendina a fianco alla matricola per non sbagliare (ma poi devo inserire solo la matricola).

Risposta:

La convalida dati si può applicare solo per i dati contenuti in 1 colonna.
Puoi ottenere il risultato desiderato in questo modo:

Nello sheet “Config”, nella colonna “A” il nome dei Dipendenti, nella colonna “B” le Matricole

Posta “A2” la cella nella quale è presente il menù a tendina con il nome del Dipendente, nella cella “B2” scrivere la formula “=CERCA.VERT(A2;Config!A:B;2;0)

Riccardo Vincenti

007. Salvataggio file tramite VBA

Download PDF

Domanda:

vorrei chiederle un controllo del codice seguente, lo scopo del codice è il salvataggio del file in una directory specifica e se la directory esiste, salvare il file con il nome specifico.
in attesa

Sub salvaFile()
 On Error GoTo mess
 Dim p As Worksheet
 Dim Directory As String
 Dim NomeFile As String
 Dim ctrl As Boolean
 Dim x As Integer
 ctrl = True
 x = 1
Set p = Worksheets("R22-3")
Directory = p.Cells(23, 20).Value
 NomeFile = p.Cells(24, 20).Value
Do While ctrl = True
 ctrl = Len(Dir(Directory & NomeFile))
 x = x + 1
 Loop
ChDir Directory
 ActiveWorkbook.SaveAs Filename:=NomeFile, FileFormat:=xlNormal, Password:="", writerespassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
mess:
 msgbox "Errore - Riprovare"
End Sub

Risposta:

Nel codice bisogna apportare 2 modifiche:

1) sostituire ‘Filename:=NomeFile’ con ‘Filename:=Directory & NomeFile’, se ha scritto la directory con ‘\’ alla fine, o in caso contrario con ‘Filename:=Directory & “\” & NomeFile’

2) scrivere Exit Sub prima di mess: altrimenti il messaggio di errore appare anche in assenza di errori

Riccardo Vincenti

006. Cercare parola in un testo – VBA

Download PDF

Domanda:

Salve, volevo sapere se in qualche modo era possibile creare un foglio excel per questo lavoro: Fare una 3 colonne rispettivamente: “titolo film” “produttore” e “attori” e una volta scritti film produttori e attori , una volta ordinato (per esempio) in base ad un particolare attore gli titolo e produttore seguono l’ordinamento dell’attore di quel film. Spero di essermi spiegato bene, grazie della risposta.

Risposta:

nel file allegato trovate la macro per cercare una parola in un testo e restituire le informazioni collegate. Filtra Attore

Riccardo Vincenti

005. Calcolo importo maggiorazioni

Download PDF

Lucia ci ha chiesto:

la cella A1 contiene il valore minuti: 185
i primi 60 minuti vanno pagati tot. euro;
dal 61 a 120 vanno pagati maggiorati del 5%;
dal 121 al 185 vanno pagati maggiorati del 10%.
NOTA: il valore nella cella A1 è variabile.
Che formula devo inserire per il calcolo?
ringrazio anticipatamente per l\’aiuto

—-

Ciao Lucia,

in allegato trovi il file con la formula richiesta

Calcolo maggiorazioni

Riccardo Vincenti

 

004. Aprire FileDialog per selezionare file

Download PDF

Domanda:

Complimenti per il sito…molto interessante
Avrei bisogno di visualizzare un diagramma ad albero (tipo quello che si visualizza con esplora risorse di windows) all\’apertura di excel oppure word, per poterci collegare dei file sia di excel, word, pdf, ecc. in modo di avere una visione generale della struttura del progetto, con possibilità di apertura dei singoli file. Spero di essermi spiegato bene. Saluti

Risposta:

di seguito il codice che lancia il file dialog di Windows
e permette di aprire i file che ti interessano:

Public Sub SelezionaFileDaAprire()

Dim fDialog As Office.FileDialog

Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
Dim selezione As Variant
Dim PercorsoStandard As String

  PercorsoStandard = "C:\"    'inserisci il percorso che desideri aprire di default

With fDialog
    .AllowMultiSelect = False
    .Title = "Seleziona il file da aprire"
    .InitialFileName = PercorsoStandard

    If .Show = -1 Then
        For Each selezione In .SelectedItems
            FileDaAprire = selezione
            ActiveWorkbook.FollowHyperlink Address:=FileDaAprire
        Next
    Else
        MsgBox "Caricamento annullato!", vbInformation  'quanto premi ‘cancella’ la macro si stoppa
        Exit Sub
    End If
End With
Set selezione = Nothing
Set fDialog = Nothing
End Sub

A voi il file:
APRI

Riccardo Vincenti