Il problema dei 3 corpi: Attraverso continenti e decadi, cinque amici geniali fanno scoperte sconvolgenti mentre le leggi della scienza si sgretolano ed emerge una minaccia esistenziale. Vieni a parlarne su TopManga.
 
Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

macro confronta orario A1 del foglio 1 e incolla nella giusta posizione nel foglio 2

Ultimo Aggiornamento: 09/10/2019 13:34
Post: 126
Registrato il: 06/07/2016
Città: BOLZANO
Età: 31
Utente Junior
2010
OFFLINE
08/10/2019 12:48



ciao a tutti

avrei bisogno del vostro aiuto desidererei una macro da poter lanciare con pulsante che confronti il valore orario contenuto nella cella A1 (del foglio 1 ) col range ( F11 : Al23 del foglio 2 ) e copi il valore della cella B 1 (FOGLIO 1 ) inserendolo nella riga 13 sotto lil giusto orario come da esempio : ( valore copiato 17 alle 11:30 ) lasciando sempre solo l’ultimo valore copiato

Grazie grazie
saluti
Marilena
Post: 5.762
Registrato il: 14/11/2004
Utente Master
Office 2019
OFFLINE
08/10/2019 16:47

Confronto Orario
Ciao non so se ho capito bene, ma non ce bisogno di una macro, bastano le funzioni di Excel.

Una Convalida per l'orario ed un Cerca:Orizz() per il valore, non tutti lo usano, ma esiste anche quello.

eccoti il file con le due funzioni, basta che scegli l'orario con la convalida che avrai il valore corrispondente del foglio2.

Ciao By Sal [SM=x423051]

[Modificato da by sal 08/10/2019 16:48]
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Post: 3.501
Registrato il: 03/04/2013
Utente Master
Excel 2000 - 2013
OFFLINE
08/10/2019 17:27

Buon pomeriggio, Marilena;
se ho interpretato correttamente la tua richiesta, credo potresti provare nel Foglio di lavoro "Foglio2", in Cella "F13":
 
 =SE(F$11=Foglio1!$A$1;Foglio1!$B$1;"") 

da copiare nelle Celle a destra fino a Cella "AL13"


A disposizione.

Buona serata.

Giuseppe

Windows XP - Excel 2000
Windows 10 - Excel 2013
Post: 3.502
Registrato il: 03/04/2013
Utente Master
Excel 2000 - 2013
OFFLINE
08/10/2019 20:30

Buona sera, Marilena;
mi è sorto un dubbio, quando scrivi:

@Mary-92, svrive:


... range ( F11 : AL23 del foglio 2 ) ...


 
-    Cosa significa?
-    Che riferimenti ci sono nelle Righe  12 ÷ 23 ?

Il mio dubbio è che, se i riferimenti in Riga 11 sono univoci ma i Valori riportati nelle Righe sottostanti sono variabili non solo nella Riga 13 ma anche nelle altre righe non ci possono essere Formule ma, necessariamente, si deve ricorrere ad un Codice VBA.

Se puoi chiarire più compiutamente la tua richiesta te ne sarei grato.

Grazie dell'attenzione che potrai dedicare a queste mie domande.





Giuseppe

Windows XP - Excel 2000
Windows 10 - Excel 2013
Post: 126
Registrato il: 06/07/2016
Città: BOLZANO
Età: 31
Utente Junior
2010
OFFLINE
09/10/2019 10:55


Grazie Giuseppe e By Sal

mi scuso ma è stato un mio errore ,il range corretto è F11 : AL11
i riferimenti in riga 11 sono univoci mentre quelli che vengono riportati in riga 13 sono il risultato di una formula inserita nella cella B1 del foglio 1 che variano di volta in volta .

se possibile avrei preferito una soluzione in vba perchè mi avrebbe permesso di riportare il valore solo agendo sul pulsante
mentre la formula lo fa sempre in automatico



saluti
Marilena
Post: 2.415
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
09/10/2019 11:25

Ciao

Sub Aggiorna()
Dim wkF As Worksheet, wkT As Worksheet, mRng As Range
Set wkF = Worksheets("Foglio1")
Set wkT = Worksheets("Foglio2")
ora = wkF.Range("A1")
valore = wkF.Range("B1")
Set mRng = wkT.Range("A11:AL11")
colonna = Application.Match(ora, mRng, 0)
wkT.Cells(13, colonna) = valore
End Sub


Saluti




Domenico
Win 10 - Excel 2016
Post: 3.503
Registrato il: 03/04/2013
Utente Master
Excel 2000 - 2013
OFFLINE
09/10/2019 11:35

Buona giornata, Marilena;
a mio modesto parere la soluzione con Formule è da preferire ma visto che "Il Cliente ha sempre ragione" allego un Codice VBA che potrebbe esserti utile.

Option Explicit

Sub Aggiorna()
Application.ScreenUpdating = False
Dim Ulc As Long, x As Long
    
    Sheets("Foglio2").Select
    With Worksheets("Foglio1")
    Ulc = Cells(11, Columns.Count).End(xlToLeft).Column
        Range(Cells(13, 6), Cells(13, Ulc)).ClearContents
            For x = 6 To Ulc
                If Cells(11, x).Value = .Cells(1, 1).Value Then
                    Cells(13, x).Value = .Cells(1, 2).Value
                        Exit For
                End If
            Next x
    End With
Application.ScreenUpdating = True
    Cells(13, x).Select
End Sub



Buona Lavoro.

Giuseppe

Windows XP - Excel 2000
Windows 10 - Excel 2013
Post: 127
Registrato il: 06/07/2016
Città: BOLZANO
Età: 31
Utente Junior
2010
OFFLINE
09/10/2019 13:34

SPLENDIDO GRAZIE [SM=x423017] [SM=x423038]
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 17:16. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com