Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Scrivere su 2 celle diverse su 2 Fogli diversi vba

Ultimo Aggiornamento: 21/07/2019 21:03
Post: 2
Registrato il: 17/07/2019
Utente Junior
2019
OFFLINE
21/07/2019 07:59

Salve a tutti mi sto scervellando da matti solo voi mi potete aiutare il mio problema che nel primo foglio uso la userform per inserire i dati nelle varie celle sparse

Private Sub cmbAggiungi_Click()
Range("B2") = txttipomezzo.Text
Range("B3") = txttarga.Text
Range("D3") = txtdim.Text
Range("B4") = txtattivita.Text
Range("D4") = txtcau.Text
Range("B32") = txtdatauscita.Text
Range("B34") = txtfirmaritiro.Text
Range("d34") = txtvistoalluscita.Text
Range("d31") = txtnumeroricevuta.Text
Range("B6") = txtestintore.Text
Range("d13") = txtlucchetti.Text
frmAggiungilista.Hide

Unload Me

ora per scrivere i dati immessi nel primo foglio su secondo foglio sulla stessa riga ma colonne diverse ho provato questa stringa

Sheets("CRONOLOGIA COMANDATE").Range("A3").End(xlDown).Offset(1, 0) = txttipomezzo.Value

e gia' qui parto male perche' mi da errore la mia domanda come posso scrivere sulle varie textbox che ho sulla userform contemporaneamente tenendo presente che nel foglio cronologia voglio che mi compili la cella vuota grazie in anticipo
Post: 5.720
Registrato il: 14/11/2004
Utente Master
Office 2019
OFFLINE
21/07/2019 08:20

scrivere su fogli diversi
Ciao Alessandro, senza un file è difficile risponderti comunque questo codice

Sheets("CRONOLOGIA COMANDATE").Range("A3").End(xlDown).Offset(1, 0) = txttipomezzo.Value


dovrebbe scrivere sull'ultima cella della colonna "A", in quanto se nella colonna "A" ce una cella vuota si ferma a quella cella e scrive nella cella sottostante che è piena dal tuo codice.

se vuoi scrivere sull'ultima cella vuota della colonna "A" sarebbe meglio prima definire la riga con una variabile esempio

Dim R

R = Sheets("Cronologia Comandate").cells(rows.count,1).end(Xlup).Row +1
sheets("Cronologia Comandate").cells(R,1) = txttipomezzo.value


se si stratta di 1 solo dato se sono diversi, a me scoccia ripetere parte di codici, esempio

Sheets("Cronologia Comandate")
meglio usare se sono di più

With Sheets("Cronologia Comandate")
.Cells(R,1) = Txttipomezzo
.Cells(R,5) = txtestintore
.etc...
End With


Ciao By Sal [SM=x423051]

se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Post: 2
Registrato il: 17/07/2019
Utente Junior
2019
OFFLINE
21/07/2019 09:20

scrivere su 2 Celle diverse su 2 Fogli diversi vba
inanzi tutto grazie per la risposta allego il file cosi ti fai una idea
il mio problema e' la prima riga della cronologia comandate la devo associare al foglio vm90 t2 dei dati che ho immesso voglio che quando andro' a compilare e ricompilare il foglio vm90 t2 mi compila le celle relative che si trovano in cronologia comandate e mi compila al primo rigo vuoto che trova
come posso fare cio'?
Post: 3
Registrato il: 17/07/2019
Utente Junior
2019
OFFLINE
21/07/2019 09:47

HO PROVATO IL TUO CODICE E DEVO DIRE CHE FUNZIONA ALLA GRANDE ADESSO MI PRESTO ALLA COMPILAZIONE PERO' NON HO CAPITO IN Cells(R,1)sta per? e perche' no Cells("a1") te lo chiedo da nabbo

Sheets("Cronologia Comandate").Cells(R, 1) = txttipomezzo.Value
[Modificato da Alessandro Zannella 21/07/2019 09:49]
Post: 4.165
Registrato il: 13/03/2012
Città: LIVORNO
Età: 78
Utente Master
2010
OFFLINE
21/07/2019 16:33

ci sono 2 modi per indirizzarsi alla cella A1
cells(1,1)
range("A1")
il primo è comodo quando si deve ciclare il num di riga o di colonna, il secondo quando il range è fisso
[Modificato da patel45 21/07/2019 16:35]

----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Post: 5.721
Registrato il: 14/11/2004
Utente Master
Office 2019
OFFLINE
21/07/2019 17:47

Cells
Ciao Alessandro, ed un saluto a Patel.

maggiormente specialmente per il VBA, io uso "Cells", molto più versatile di Range.
Vediamo prima come viene selezionata la cella.

la Sintassi è:

Range("Colonna:Riga")
Cells(Riga,Colonna)

parliamo di Cells, come vedi è invertito l'ordine, si scrive prima il numero di riga e poi la colonna in NUMERO, A=1, B=2, C=3, Etc..

ma ciò non toglie che posso anche scrivere la lettera in Cells in questo modo

Cells(1, "A")


Adesso poniamo il caso che vorrei spostarmi di 5 colonne, nel primo caso sono obbligato a scrivere

Range("F1")


con Cells non devo fare il calcolo per sapere la lettera della colonna, ma basta scrivere

Cells(1, 1 + 5)


lo stesso se vorrei spostarmi di 5 Righe

Cells(1 + 5, 1)


Cio è comodo specialmente quando si tratta di scrivere dati con dei cicli, come ha detto Patel, non posso fare,

For x = 1 to 5
    Range("A + x:1")="Pippo"
next x


ma posso benissimo fare

For x = 1 to 5
    Cells(1, 1 + x)="Pippo"
next x


spero di aver chiarito il tuo dubbio

Ciao By Sal [SM=x423051]



se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Post: 4
Registrato il: 17/07/2019
Utente Junior
2019
OFFLINE
21/07/2019 21:03

Grazie ancora per le delucidazioni farò un po' di esercizi con i codici da te scritti sono molto grato per l'aiuto che mi date ad apprendere grazie ancora
Vota: 15MediaObject5,0027 2
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]
VBA sui "NOMI" celle (4 messaggi, agg.: 31/10/2020 11:19)
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 09:01. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com