|
|
|
|
Strumenti |
30-11-2017, 11:58 | #1 |
Junior Member
Iscritto dal: Nov 2017
Messaggi: 1
|
[VB Excel] Macro inserimento dati e calcolo
Salva a tutti,
sto lavorando ad un progetto su Excel, che attraverso un form di input e una macro, mi permetta di trasferire i dati in un altro foglio e successivamente fare dei calcoli basilari. Questa la macro: Codice:
Sub copia() Dim Risposta As String Dim Domanda As String Dim i As Byte Dim lastRow As Long Domanda = "Eseguire la macro?" Risposta = MsgBox(Domanda, vbYesNo, "Conferma") If Risposta = vbYes Then lastRow = Sheets("Pippo").Cells(1, 1).CurrentRegion.Rows.Count + 1 For i = 2 To 14 If Sheets("Pippo").Cells(3, 3) <> "" Then lastRow = Sheets("Pippo").Cells(1, 1).CurrentRegion.Rows.Count + 1 Else lastRow = Sheets("Pippo").Cells(1, 1).CurrentRegion.Rows.Count End If Next i Sheets("Sheet2").Range("B3:P3").Copy Sheets("Pippo").Range("B" & lastRow) Range("B3:P3").ClearContents Range("B3").Select Else Exit Sub End If End Sub (1) ogni riga ha dei calcoli basilari, uguali per tutti. Il problema che ho riscontrato è che se trascino la formula per una serie di righe (per esempio fino alla 10), la macro non funziona più a dovere perché inserisce i dati nella 11 (ovvero nella prima riga totalmente libera). La soluzione ottimale sarebbe quella di creare una macro che ad ogni riga occupata crei le celle di calcolo oppure che sorpassi il fatto che ci siano le colonne Q,R,S,T,U occupate e vada a riempire solo le restanti (ovvero quello indicate dal form di input) (2) oltre ai risultati per ogni riga, mi interessano anche i dati aggregati di tutti i risultati per ogni singola riga (somma). La posizione delle somme non mi interessa molto, nel senso che possono stare a lato oppure in alto, la cosa che realmente mi interessa è che siano aggiornate ad ogni riga inserita. Naturalmente sarebbe grandioso farle scalare man mano che i dati vengano inseriti, ma non vorrei chiedere troppo. Qua il file Excel: (non me lo faceva caricare come allegato) https://goo.gl/TJu3Jo Grazie per il supporto |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:44.