aiuto scrittura vba excel urgente
Hai un problema con Excel? 
aiuto scrittura vba excel urgente
di francesco2012 (utente non iscritto) data: 14/04/2016 09:25:03
ciao a tutti!
sto scrivendo un codice con vba per la mia tesi magistrale e avrei bisogno di un aiuto nel perfezionare alcuni comandi. Le cose che ora mi interessano sarebbero 3!
- al momento ho un codice che filtra i dati di una colonna per numeri (18,21...) e una volta selezionate determinate colonne le copia nei relativi fogli nuovi (esempio, dati necessari per i 18 hz) e così via. Vorrei però che l'utente vedesse aprirsi un message box dove poter scegliere lui il numero da filtrare su determinata colonna (AF) e si creasse successivamente il foglio "dati necessari "numero inserito" Hz). questa procedura poi dovrebbe ripetersi per creare ulteriori fogli senza che si eliminino quelli precedenti.
- altra cosa, il mio codice ora fa questo: richiama dati da un altro file di excel, me li copia e incolla in un foglio e successivamente l'utente può selezionarne una parte (intervalli di interesse) da copiare e incollare uno dopo l'altro in un foglio nuovo. con una piccola macro poi si aggiunge la data in una colonna prescelta del nuovo foglio. vorrei implementare il codice per consentirgli di - aggiungere automaticamente la data, - in caso di nuovo foglio di dati, poterli continuare a aggiungere nel nuovo foglio con aggiunta automatica della nuova data del nuovo documento richiamato.
- ultima cosa, più banale: al momento il mio file di excel, una volta che ho fatto partire la macro, si appesantisce fino a 90 mb. ci sono trucchi per alleggerire file con codici della lunghezza di un centinaio di pagine?
Grazie in anticipo!
Z
di patel data: 14/04/2016 12:09:13
tutto questo al buio senza vedere ciò che hai fatto
di francesco2012 (utente non iscritto) data: 14/04/2016 12:13:54
hai ragione. ti metto qui il codice che sto utilizzando per filtrare i dati e che vorrei migliorare:
Questo ripetuto per n volte dove n sono i valori di frequenza che mi interessano. Vorrei velocizzare il tutto senza ripetere n volte questo comando ma consentendo all'utilizzatore di digitare lui il valore di frequenza interessante e conseguentemente creare la pagina nuova con queste caratteristiche.
Dim wrkPagina As Worksheet 'creazione pagine
Set wrkPagina = ActiveWorkbook.Worksheets.Add()
wrkPagina.Name = "Dati necessari 18 Hz"
Sheets("Dati necessari 18 Hz").Move After:=Sheets("INTERVALLI")
Sheets("INTERVALLI").Select
'copio i dati relativi ai 18 Hz in un foglio nuovo
Columns("AF:AF").Select
Selection.AutoFilter
ActiveSheet.Range("$AF:$AF").AutoFilter Field:=1, Criteria1:="18"
Range("C:C,Z:Z,AA:AA,AD:AD,AE:AE,AF:AF,AG:AG,AM:AM,AS:AS,BD:BD,BE:BE").Select
Selection.Copy
Sheets("Dati necessari 18 Hz").Select
ActiveSheet.Paste
|
di patel data: 14/04/2016 14:07:05
tu quando scrivi una macro l'azzecchi al primo colpo ? non hai bisogno di testarla ? se è così sei più bravo di me e non hai bisogno di aiuto.
di francesco2012 (utente non iscritto) data: 14/04/2016 14:19:29
Scusami ma non ho capito. Ho detto questo? La macro che ti ho mostrato è testata, funziona. Ho provato in vari modi a fare quello che ho detto per migliorarla e non ci sono riuscito. Chiedevo aiuto per questo.
di alfrimpa data: 14/04/2016 14:31:47
Francesco quello che Patel (che saluto) vuole dirti è che devi allegare il tuo file di esempio per testare la macro.
Alfredo
Vuoi Approfondire?