Condividi:        

Come Risolvere questo problema con Excel

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

Come Risolvere questo problema con Excel

Postdi A.Maurizio » 21/07/14 10:06

Ciao a Titti mi Chiamo Maurizio , Ora il Problema e questo :
Io Vorrei Creare il fatto che in Due Determinate Celle e Precisamente in ( Cella D14 e in Cella E14 ) , Io possa scrivere dei Numeri e Lettere sotto forma di Coordinate , come ad Esempio : ( A1 - C4 ) .

Ora Quello che Vorrei Io e che a Sua Volta Nelle celle ( N1 e O1 ) possano Ricevere tali Coordinate , e fino a qui nulla di problematico .

Però il problema subentra nel Momento in qui , Voglio far Fare la verifica dei dati inseriti .

Esempio: Come programmino il Mio Listato non fà una piega , il Problema compare quando nelle cella D14 ho nella cella E14 , che Io Riporti Esattamente una Coordinata Valida o meno ( 1 - 4 ) anzichè ( A1 C4 ) , a tale programma non importa assolutamente nulla .

Mentre io Vorrei che saltasse all'ultima Posizione dove ho inserito L'msgbox di Verifica .

Vi Posso garantire che ho provato e riprovato per tentare di Risolvere da mè questo Enicma Senza mai Riuscirci .

Grazie per tutto l'aiuto che riuscirete a darmi in Merito Sinceri Saluti da A.Maurizio

(P.s) Questo e ciò che ho provato a Scrivere Io ; mi funziona ma in parte , Perchè ? :

Function Prima_Lettera_Coordinata()
'On Error Resume Next
S = Range("D14").Text = ""
If Len(S) > 1 Then
Range("N1").Value = Range("D14").Value & ""
Range("O1").Value = Range("E14").Value & ""
'Exit Function
End If

If Not (S = "A1" Or S = "B1" Or S = "C1" Or S = "D1" Or S = "E1" Or S = "F1" Or S = "G1" Or S = "H1" _
Or S = "a1" Or S = "b1" Or S = "c1" Or S = "d1" Or S = "e1" Or S = "f1" Or S = "g1" Or S = "h1") Then
Else
MsgBox ("Coordinata non Ammessa" & Chr(13) & "Riprova"), vbInformation, "Attenzione"
End If
'Primo_Numero_Coordinata
End Function
A.Maurizio
Utente Senior
 
Post: 116
Iscritto il: 02/08/13 15:39

Sponsor
 

Re: Come Risolvere questo problema con Excel

Postdi Anthony47 » 22/07/14 00:48

Purtroppo non ho capito che cosa devi fare, come hai cercato di farlo, che cosa non funziona. Con questo preambolo nemmeno ho capito a cosa serva quel codice.

Comunque se il tuo obiettivo e' far scrivere in D14 ed E14 dei riferimenti validi a delle celle, potresti sfruttare il metodo InputBox associato a una macro di WorksheetChange; ad esempio:
Codice: Seleziona tutto
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim myRan As Range
If Target.Address = "$D$14" Or Target.Address = "$E$14" Then
    On Error GoTo Exita
    Set myRan = Application.InputBox("Inserisci le coordinate", , , , , , , 8)
    Target.Value = myRan.Address
End If
Exita:
End Sub
Dal foglio di lavoro, tasto dx sul tab col nome del foglio, scegli Visualizza codice per aprire l' edior delle macro nella posizione giusta; copia il codice e incollalo nel frame di dx.
Torna su Excel; tutte le volte che selezioni D14 oppure E14 ti sara' chiesto di inserire le coordinate delle celle, e se ne viene inserita una non valida uscira' un messaggio di errore chiedendo all' utente di inserire un intervallo valido.

Se invece il problema e' tutt'altro allora prova a rispiegare.

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

Re: Come Risolvere questo problema con Excel

Postdi A.Maurizio » 22/07/14 09:22

Ciao Anthony sono Maurizio Ora Cercherò di Spiegarmi Meglio , anche sé il Tuo Suggerimento e comunque da prendere in considerazione , Per qui ti dico Grazie anticipatamente .
Detto questo il Mio problema e Questo :

'On Error Resume Next
10 S = Range("D14").Text = "" ' Questo Dovrebbe Prende il Posto del Tuo InputBox - Anche qui ho provato ad Aggiungere
( S=Range ("E14").Text ) ma non funziona Comunque .

20 If Len(S) > 1 Then
30 Range("N1").Value = Range("D14").Value & "" ' Qui ho Anche Provato ad Inserire solo la (S) ma non funziona Comunque
40 Range("O1").Value = Range("E14").Value & "" ' Sono le Celle di Supporto che ricevono le Coordinate scritte
50 'Exit Function
60 End If

70 If Not (S = "A1" Or S = "B1" Or S = "C1" Or S = "D1" Or S = "E1" Or S = "F1" Or S = "G1" Or S = "H1" _
Or S = "a1" Or S = "b1" Or S = "c1" Or S = "d1" Or S = "e1" Or S = "f1" Or S = "g1" Or S = "h1") Then
80 Else
' Questo Messaggio mi Dovrebbe comparire nel momento in qui io inserissi Nelle celle ( D14 o E14 ) dei Dati Errati
90 MsgBox ("Coordinata non Ammessa" & Chr(13) & "Riprova"), vbInformation, "Attenzione"
100 End If

Ora Questo concetto ho Tentato di Riadattarlo al mio Solito gioco della Dama , Prendendo Spunto da un Libro di Paolo Guccini , Che tratta solo Argomentazioni inerente ad Excel .
Detto Questo : All'origine questo breve Listato Serviva per inserire proprio in un InputBox una lettere ( Vocale ) e tale Programma Verificava sé Fosse o meno una Vocale la lettera inserita in caso contrario ti inviava un messaggio di errore .

Quando io mi sono visto D'avanti tale Programmino , mi sono chiesto subito sé non facesse al caso mio , in quanto facendo subito due conti mi sono chiesto : Sé questo listato lo Moltiplico per Otto volte veriando solo la Riga 70 di questo listato con S="A2" or ecc...! cosi fino a S="A8" or ecc....! avrei sicuramente risolto buona parte del mio problema , in quanto dopo non dovevo fare altro che associare ciò che veniva scritto Nelle Celle (N1 e O1) che sono poi una Copiature di ciò che viene realmente scritto nelle celle
(D14 e E14) ma semplicemente per Comodità Personale .
Anche perché i Dati Riportati nelle Celle (N1 e O1) Sono dati Permanenti che cambiano di volta in Volta , mentre i dati che riporto nelle Celle (D14 e E14) Vengono subito Cancellati per lasciare spazio alle nuove Coordinate .
Tutto questo Solamente per riuscire a richiamare poi in modo Univoco e senza Intoppi le chiamate ai Suddetti Moduli che servono poi a far Spostare nelle varie direzioni le Suddette Pedine Tutto qui .
Spero di tutto cuore di Essere stato abbastanza chiaro anche perché più di cosi non saprei come spiegarti detto solo a voce ! Sinceri saluti e grazie di Tutto saluti da Maurizio
A.Maurizio
Utente Senior
 
Post: 116
Iscritto il: 02/08/13 15:39

Re: Come Risolvere questo problema con Excel

Postdi Anthony47 » 22/07/14 14:06

Rimango nel buio totale...
10 S = Range("D14").Text = ""
Ti e' chiaro che questa istruzione restituira' Vero oppure Falso, null' altro?
Quindi non ha senso ha la successiva 20 If Len(S) > 1 Then

Nella macro c' e' una successiva If che, oltre ad essere vanificata dal contenuto di S (che non potra' mai essere uguale a una delle stringhe con cui si confronta) ha una struttura incomprensibile:
Codice: Seleziona tutto
If S e' diverso dai valori con cui viene confrontata Then
   Niente
Else
   Msgbox(Messaggio di errore)
End If
Un certo significato (fatto salvo che S contiene solo Vero /Falso) avrebbe se non ci fosse quell' Else; cioe':
Codice: Seleziona tutto
If S e' diverso dai valori con cui viene confrontata Then
   Msgbox(Messaggio di errore)
End If

Non escludo infine che ti serva qualcosa del tipo
Codice: Seleziona tutto
Sub validate()
Dim myRan As Range, Valid As String
'
Valid = "A1:H1"     '<< Selezioni valide
On Error Resume Next
Set myRan = Application.Intersect(Range(Range("D14").Value), Range(Valid))
On Error GoTo 0
If myRan Is Nothing Then
    MsgBox ("Selezione illegale")
Else
    Range("N1").Value = Range("D14").Value
End If
End Sub

Ma tutto cio' lo faccio alla cieca...

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

Re: Come Risolvere questo problema con Excel

Postdi A.Maurizio » 22/07/14 22:18

Grazie infinite Anthony dei tuoi suggerimenti , oltre che della tua proverbiale pazienza .
Saluti Sinceri da A.Maurizio
A.Maurizio
Utente Senior
 
Post: 116
Iscritto il: 02/08/13 15:39

Re: Come Risolvere questo problema con Excel

Postdi A.Maurizio » 22/07/14 22:26

Anthon ascolta : Secondo te c'è una scuola Serale che io possa fare alla mia Età per imparare a programmare un pochino di tutto senza entrare molto nello specifico a Torino .
Sè cosi fosse potresti darmi qualche nominativo di tali scuole Grazie ancora di tutto cuore , Sei proprio un vero Amico Canavesano . Meury
A.Maurizio
Utente Senior
 
Post: 116
Iscritto il: 02/08/13 15:39

Re: Come Risolvere questo problema con Excel

Postdi Anthony47 » 23/07/14 02:02

Purtroppo non ho notizie di scuole affidabili che tengano corsi di programmazione vba (non ne ho mai cercato, e temo che la stragrande maggioranza punti a erogare a basso costo corsi di bassa lega finanziati dai generosi fondi Europei).
D'altra parte il linguaggio e' cosi' articolato che solo una certa pratica puo' portare a soddisfacenti livelli di autonomia.
Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Come Risolvere questo problema con Excel

Postdi A.Maurizio » 23/07/14 08:57

Non Importa Anthony Grazie comunque del tuo Interessamento Sinceri saluti , E anche sè e un pochino Prematuro dirlo ti Auguro Buone Vancanze a te e alla tua famiglia ; io non vedo l'ora ; Sinceri saluti da A.Maurizio
A.Maurizio
Utente Senior
 
Post: 116
Iscritto il: 02/08/13 15:39

Re: Come Risolvere questo problema con Excel

Postdi Anthony47 » 23/07/14 23:50

anche sè e un pochino Prematuro dirlo ti Auguro Buone Vancanze a te e alla tua famiglia
Io sono gia' al mare 8) 8)
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Come Risolvere questo problema con Excel

Postdi A.Maurizio » 24/07/14 08:59

Allora ti Faccio i Miei più Sinceri Auguri di Buone Vacanze .
Io Parto per le Hawaii solo a fine mese Ciao Canavesano
A.Maurizio
Utente Senior
 
Post: 116
Iscritto il: 02/08/13 15:39

Re: Come Risolvere questo problema con Excel

Postdi paologuccini » 30/09/14 09:34

Hai risolto il problema?
paologuccini
Newbie
 
Post: 1
Iscritto il: 30/09/14 09:32


Torna a Applicazioni Office Windows


Topic correlati a "Come Risolvere questo problema con Excel":


Chi c’è in linea

Visitano il forum: Nessuno e 48 ospiti