Aiutamici Forum
Benvenuto Ospite Cerca | Topic Attivi | Utenti | | Log In | Registra

[Excel 2007]- copiare valore di una cella con incremento di 1 Opzioni
aetio
Inviato: Wednesday, October 31, 2012 3:19:17 PM

Rank: AiutAmico

Iscritto dal : 5/10/2010
Posts: 723
Ciao,
vorrei automatizzare una semplicissima operazione di routine che attualmente svolgo manualmente, più che altro per evitare remoti errori di battitura (che genererebbero ben più gravi erroi di elaborazione dei dati!! quindi la motivazione NON è per pigrizia :)) ):
lavoro su tabelle che pocedono dal basso verso l'alto, per cui l'aggionamento dei dati avviene nella prima riga della tabella ("3:3") anziché nell'ultima; in cella A3 devo immettere un riferimento che è quello di A4 incrementato di 1, in cella B3 quello di B4 incrementato di 1 (l'operazione di routine è questa...). I ivalori di col.A sono numeri cardinali, es. 4321, mentre i valori di col.B sono del tipo 65'432 in cul il'incremento di uno dev'essere scritto nel numero posto dopo l'apice. Usando l'utile registratore di macro, ecco il codice:
Sub Incrementa_di1()
Range("A3").Select
ActiveCell.FormulaR1C1 = "=R[1]C"
Range("B4").Select
Selection.AutoFill Destination:=Range("B3:B4"), Type:=xlFillDefault
Range("B3:B4").Select
ActiveWorkbook.Worksheets("Foglio 1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Foglio 1").Sort.SortFields.Add Key:=Range("B4"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Foglio 1").Sort
.SetRange Range("B3:B4")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
manualmente ho eseguito queste operazioni:
in A3, ho scritto =A4+1
in B4, ho trascinato la cella, col valore 65'432, in B3 e ha scritto 65'431 (io però devo scrivere 65'433) allora ho fatto eseguire l'ordinamento dal più grande al più piccolo.
Risultato: per eseguire 2 operazioni...15 righe di codice.
Esiste un modo più "elegante" per scrivere ilcodice in meno righe?.
Grazie assai e buon pomeriggio
eZio
Sponsor
Inviato: Wednesday, October 31, 2012 3:19:17 PM

 
a10n11
Inviato: Wednesday, October 31, 2012 4:43:06 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
credo di non aver capito..
se in a3 hai posto la formula A4+1
in B4 potresti mettere questa di formule:
=SINISTRA(B4;3) & VALORE(DESTRA(B4;3)+1)

saluti
Giap

aetio
Inviato: Wednesday, October 31, 2012 5:55:51 PM

Rank: AiutAmico

Iscritto dal : 5/10/2010
Posts: 723
Ciao,
a10n11 ha scritto:

credo di non aver capito..

Wrong...hai capito benissimo!! :))

... E queste figuracce sono il termometro della mia ignoranza nei confronti questa stupenda Scienza. Ignoravo completamente quell'espressione... (!!)
Chiedo umilmente scusa................ :(((
Obiettivo centrato, la macro funziona a meraviglia.
Grazie assai, buona serata
eZio
Utenti presenti in questo topic
Guest


Salta al Forum
Aggiunta nuovi Topic disabilitata in questo forum.
Risposte disabilitate in questo forum.
Eliminazione tuoi Post disabilitata in questo forum.
Modifica dei tuoi post disabilitata in questo forum.
Creazione Sondaggi disabilitata in questo forum.
Voto ai sondaggi disabilitato in questo forum.

Main Forum RSS : RSS

Aiutamici Theme
Powered by Yet Another Forum.net versione 1.9.1.8 (NET v2.0) - 3/29/2008
Copyright © 2003-2008 Yet Another Forum.net. All rights reserved.