Condividi:        

Excel Macro che non va

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 Macro che non va

Postdi Statix » 08/06/08 11:51

Ciao Anthony47,
chiedo scusa se ripropongo di nuova il problema della macro in un nuovo topic,
ho fatto tutte le prove che mi avevi suggerito,formato celle/Testo ma la macro quando trova a scomporre in celle alcune stringhe tipo 9-0 11-20-0 come risultato mi genera una Data, con formato testo un numero 36770
Ho provato anche in un nuovo foglio solo la macro,risultato, non va su alcune stringhe.

Private Sub Worksheet_Calculate()
Application.ScreenUpdating = False
If ActiveCell.Address <> "$BG$97" Then Exit Sub
If ActiveCell.Value = -1 Then Exit Sub
Application.EnableEvents = False
On Error GoTo gerr

Scomp = Range("CA1").Value

Range("CB2").Activate

ActiveSheet.Range([CB2], [CB2].End(xlToRight)).Select

Selection.Clear
ActiveCell.Value = Scomp

Range("CB2").Select

Selection.TextToColumns Destination:=Range("CB2"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
:="-", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1)), _
TrailingMinusNumbers:=True



gerr:
If Err.Number <> 0 Then
Msg = "Errore " & Str(Err.Number) & " generato da " _
& Err.Source & Chr(13) & Err.Description
MsgBox Msg, , "Errore", Err.HelpFile, Err.HelpContext
End If
Application.EnableEvents = True
salta:
Range("BG97").Select
Application.ScreenUpdating = True

End Sub
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Sponsor
 

Re: Excel Macro che non va

Postdi Anthony47 » 08/06/08 14:24

NON E' un problema di macro, semplicemente fai lavorare la macro su una cella in cui hai messo una data. Devi evitare di mettere in CB2 una data.
Vedi qui viewtopic.php?f=26&t=73220
La macro scompone, con un "Testo-in-colonna", le stringhe della cella in input; se la cella in input non contiene una stringa (e' il caso di una data), non ti converte niente e ti passa in uscita una sola cella con il valore di ingresso. Nota che la si potrebbe anche modificare per gestire "alcune possibili situazioni", che pero' sono variabili in funzione del settaggio del tuo pc.

Hai gia' ricevuto alcuni suggerimenti che riepilogo:
Poiche' CB2 prende dati da BU2, devi guardare cosa ci va in BU2.
Poiche' in CB2 hai la formula =SE(BT2=$BG$97;BG2&"-"&BU2;BU2) ti ho chiesto di debuggare se il problema ti si presenta quando la SE e' vera o e' falsa; ma non so se l'hai fatto e con che risultati.
Ti ho spiegato a grandi linee come togliere il "-" dalle celle, ma hai risposto che "se cerco di modificare il carattere mi da errore di sintassi", senza dire che cosa hai fatto e su quale istruzione hai l' errore di sintassi.
Infine hai scritto "sono giunto alla conclusione che bisogna formattare la cella CB2", che e' molto diverso da quello che penso e ti ho scritto in quel post; e la cosa comunque e' stata gia' fatta senza esito (se interpreto bene i tuoi post).
Insomma se ti diciamo delle cose e tu le ignori, che aiuto possiamo darti?

Ciao.
Avatar utente
Anthony47
Moderatore
 
Post: 19441
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel Macro che non va

Postdi Statix » 08/06/08 20:15

Ciao Anthony47,
ho riletto il post precedente,rifatto la procedura suggerita ed è tutto ok.
sostituito il segno "-" con "+"
la cosa strana che già prima ,nonostante avessi fatto la sostituzione mi dava errore di sintassi,
si vede che stò invecchiando.

Comunque già che ci sono, ho provato a registrare una macro,ti volevo chiedere come mai
se premo una casella di selezione che mi fa partire un'altra macro non me lo registra .

Le funzioni della macro che registro è questa :
1)premo casella di selezione mi parte la macro
2)copia un Range,
3)incolla in un altro range,
4)premo tasto di selezione mi parte la macro,
5)copia un range
6)incolla in un altro range

quando visualizzo la macro,non trovo le istruzioni della casella di selezione che fa partire un altra macro,ma solo
il copia ed incolla del range selezionato.
La procedura,parte macro ,copia ed incolla la devo fare per 15 /18 volte di seguito in un sola macro.
è possibile farla in modo che parti con la casella di selezione settata a 0.
e che incrementi a passo 1 fino a 18.
esempio
casella di selezione = 0
copia range
incolla range
casella di selezione = 1
copia range
incolla range
casella di selezione = 2
e così via.
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Excel Macro che non va

Postdi Anthony47 » 09/06/08 00:35

Statix ha scritto:ho [. . . .] rifatto la procedura suggerita ed è tutto ok.
sostituito il segno "-" con "+"
la cosa strana che già prima ,nonostante avessi fatto la sostituzione mi dava errore di sintassi,
si vede che stò invecchiando.

Stavolta mi tocca darti ragione :D

Per il nuovo quesito, credo che non sia possibile inserire "automaticamente" in una macro registrata il codice o il richiamo di un' altra macro; significa che devi farlo "manualmente".
Probabilmente potrebbe bastarti questo procedimento:
-mentre registri la tua macro, tutte le volte che fai partire la macro associata alla "casella di selezione" esegui una operazione particolare (es. seleziona la cella E55)
-successivamente dall' editor del vba esegui un trova e sostituisci: trova le tue operazioni particolari, sostituisci con Call Macro1

Ciao.
Avatar utente
Anthony47
Moderatore
 
Post: 19441
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Excel Macro che non va":


Chi c’è in linea

Visitano il forum: Nessuno e 56 ospiti