Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[Excel]Lungh. stringhe in un range e parte oltre 40° caratt.

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

[Excel]Lungh. stringhe in un range e parte oltre 40° caratt.

Postdi SebNan » 02/12/14 16:17

Ciao a tutti,
ho un file excel con n righe ed n colonne, dove nella colonna K devo inserire la lunghezza dei caratteri contenuti nella colonna J, e laddove la lunghezza è maggiore di 40, la parte da 41 in poi scriverla nella colonna L (se possibile inserire la formattazione condizionale nella colonna K per i > di 40).

Spero di essere stato chiaro

Grazie
SebNan
Utente Junior
 
Post: 28
Iscritto il: 07/12/12 14:32

Sponsor
 

Re: [Excel]Lungh. stringhe in un range e parte oltre 40° car

Postdi ninai » 02/12/14 18:37

ciao
da quello che ho capito:
in K2: =LUNGHEZZA(J2)
in L2: =SE(K2>40;STRINGA.ESTRAI(J2;41;K2-40);"")

per la formattazione condizionale in K, hai scritto tu stesso cosa fare.
w8 + Office 2010 Ita
ninai
Utente Senior
 
Post: 271
Iscritto il: 12/06/13 05:23
Località: prov. Messina

Re: [Excel]Lungh. stringhe in un range e parte oltre 40° car

Postdi SebNan » 10/12/14 10:05

si, esattamente
SebNan
Utente Junior
 
Post: 28
Iscritto il: 07/12/12 14:32

Re: [Excel]Lungh. stringhe in un range e parte oltre 40° car

Postdi ricky53 » 10/12/14 12:19

Ciao,
la tua risposta non fa capire se sei riuscito a trovare la soluzione anche per la formattazione condizionale.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: [Excel]Lungh. stringhe in un range e parte oltre 40° car

Postdi SebNan » 10/12/14 13:24

Ciao, no non sono riuscito a trovare la soluzione per la formattazione condizionale.
Il problema è che non riesco a far funzionare neanche lo script per inserire la lunghezza ho provato con il codice di seguito riportato ma mi restituisce sempre il valore 1, inoltre non riesco a fare lo stringa estrai. Scrivendo (Lunghezza) o (Stringa.estrai) come da te suggerito è ok ma non riesco a farglielo fare in VBA, perchè non so come si scrivono i comandi

T = Range("A" & Rows.Count).End(xlUp).Row
For N = 3 To T
Cells(T, "K") = Len("J")
SebNan
Utente Junior
 
Post: 28
Iscritto il: 07/12/12 14:32

Re: [Excel]Lungh. stringhe in un range e parte oltre 40° car

Postdi Anthony47 » 10/12/14 15:06

Codice: Seleziona tutto
 ho provato con il codice di seguito riportato ma mi restituisce sempre il valore 1
Visto il codice direi che e' il risultato corretto...
Che uso hai potuto fare della formula di ninai? Se non e' quello che chiedevi, puoi aggiungere qualcosa che chiarisca bene il bisogno?

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel]Lungh. stringhe in un range e parte oltre 40° car

Postdi SebNan » 10/12/14 15:56

Nel mio file excel, la colonna J è una colonna NOTE che contiene diverse indicazioni (es. c.a. dott. rossi, ufficio amministrativo, 2 piano 06/65214789625). La colonna J nell'esempio è formato da 64 caratteri, ma il mio sistema ne acquisisce solo 40 di caratteri, quindi tutto ciò che eccede i 40 dovrei spostarlo nella colonna L (anch'essa di 40 caratteri) per inserirlo in un secondo campo note.
Inoltre dovrei inserire nella colonna K la lunghezza dei caratteri contenuti nella colonna J e la formattazione condizionale nel caso in cui K sia maggiore di 40.
Anche nella colonna M dovrei inserire il numero dei caratteri contenuti nella colonna L e la formattazione condizionale nel caso in cui L superi i 40 caratteri.

Spero di essere stato chiaro

Grazie 1000 e buona giornata
SebNan
Utente Junior
 
Post: 28
Iscritto il: 07/12/12 14:32

Re: [Excel]Lungh. stringhe in un range e parte oltre 40° car

Postdi ninai » 10/12/14 18:31

ciao
ma la mia formula l'hai provata????

continuo a credere che faccia quello che chiedi, forse con qualche adattamento.
Eventualmente allega un file coerente con il problema
w8 + Office 2010 Ita
ninai
Utente Senior
 
Post: 271
Iscritto il: 12/06/13 05:23
Località: prov. Messina

Re: [Excel]Lungh. stringhe in un range e parte oltre 40° car

Postdi SebNan » 15/12/14 15:09

Ciao Ninai, le tue formule funzionano; infatti le avevo già inserite con il registratore di macro (come riporto di seguito), il problema è che purtroppo se il file contiene una sola riga va in errore, quindi vorrei trovare il modo per inserire tali comandi in un ciclo IF o FOR in modo di fargli eseguire il ciclo finché non trova righe vuote nella colonna "A". Potreste darmi qualche suggerimento in merito.
Grazie 1000 e a presto

'Range("H3").Select
Selection.End(xlDown).Select
ActiveCell.Offset(0, 3) = "X"
ActiveCell.Offset(0, 4) = "X"
Range("K3").Select
ActiveCell.FormulaR1C1 = "=LEN(RC[-1])"
Range("K3").Select
Selection.Copy
Range(Selection, Selection.End(xlDown)).Select
ActiveSheet.Paste
Application.CutCopyMode = False

Range("L3").Select
ActiveCell.FormulaR1C1 = "=MID(RC[-2],41,99)"
Range("L3").Select
Selection.Copy
Range(Selection, Selection.End(xlDown)).Select
ActiveSheet.Paste
Application.CutCopyMode = False
SebNan
Utente Junior
 
Post: 28
Iscritto il: 07/12/12 14:32

Re: [Excel]Lungh. stringhe in un range e parte oltre 40° car

Postdi Anthony47 » 15/12/14 23:37

Non hai pubblicato un file di esempio, ma mi pare che i tuoi dati comincino da H3 verso il basso, e tu voglia inserire formule per tutta l' altezza dell' elenco.
Per questo scopo suggerisco:
Codice: Seleziona tutto
Sub fullform()
Dim LastJ As Long
'
LastJ = Cells(Rows.Count, "J").End(xlUp).Row
    Range("K3:L3").Resize(Rows.Count - 4).ClearContents
    Range("K3").FormulaR1C1 = "=LEN(RC[-1])"
    Range("L3").FormulaR1C1 = "=MID(RC[-2],41,99)"
    If LastJ > 3 Then Range("K3:L3").Copy Destination:=Range(Range("K4"), Range("L" & LastJ))
End Sub

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel]Lungh. stringhe in un range e parte oltre 40° car

Postdi SebNan » 16/12/14 09:12

Ciao Ancthony, esattamente il mio file parte da H3 verso il basso. Appena provo lo script vi do riscontro. ma come faccio a caricare un file, non trovo il comando per allegare...
Grazie e a dopo
SebNan
Utente Junior
 
Post: 28
Iscritto il: 07/12/12 14:32

Re: [Excel]Lungh. stringhe in un range e parte oltre 40° car

Postdi ricky53 » 16/12/14 11:15

Ciao,
per sapere come allegare un file: leggi QUI

Io ti consiglio File Dropper
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia


Torna a Applicazioni Office Windows


Topic correlati a "[Excel]Lungh. stringhe in un range e parte oltre 40° caratt.":


Chi c’è in linea

Visitano il forum: Nessuno e 11 ospiti