È soltanto un Pokémon con le armi o è un qualcosa di più? Vieni a parlarne su Award & Oscar!
 
Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Incollare dati di una cella in piu celle con macro

Ultimo Aggiornamento: 06/04/2020 17:49
Post: 3
Registrato il: 30/03/2020
Età: 35
Utente Junior
10
OFFLINE
31/03/2020 17:06

Ciao a tutti ho un quesito da proporvi essendo ignorante sulle macro e non riuscendo a trovare soluzione con le formule, volevo sapere cosa ne pensate.
io ho una tab. dove inserisco delle misure e quante volte devono essere ripetute le stesse.
nella tab. seguente vengono incollate le misure piu volte in base al numero inserito nella cella quantita. tutto questo per poi restituire una somma delle varie celle selezionate e incollarle in un'altra tab.
vi allego esempio k e molto piu facile da comprendere.
Post: 3
Registrato il: 30/03/2020
Età: 35
Utente Junior
10
OFFLINE
31/03/2020 17:08

non so se c'è l'allegato lo rimando
31/03/2020 20:13

Quando rispondi, sopra il tasto VERDE c'è il Bottone sfoglia per allegare...Non troppo pesante max 1_2 MB oppure usa https://www.filedropper.com/
[Modificato da ABCDEF@Excel 31/03/2020 20:15]
Post: 4
Registrato il: 30/03/2020
Età: 35
Utente Junior
10
OFFLINE
01/04/2020 10:22

ABCDEF@Excel ciao... trovo il pulsante caricafile/foto ma non lo carica... il fil e legero
Post: 8
Registrato il: 30/03/2020
Età: 35
Utente Junior
10
OFFLINE
01/04/2020 12:57

01/04/2020 14:55

Perchè non hai allegato pure il codice?

Inoltre spiega meglio il problema (fai un esempio...)
Ex Inserisco le quantità e premo ???, dopo cosa si deve fare...
Cosa desideri che succeda?
Post: 11
Registrato il: 30/03/2020
Età: 35
Utente Junior
10
OFFLINE
01/04/2020 17:59

ciao il codice non ce l'ho perche non ho dimestichezza con il vba..
sull'esempio ho scritto le funzione che dovrebbero avere i vari pulsanti...
lo ricarico cercando di spiegarmi meglio
01/04/2020 18:59

>>>ricopiate in base al numero di "PZ PER QUANTITA" e "QUANTITA "
Cosa significa??? 2x1 =2 (mà a quale "misura" si riferisce?

Va bene aiutare mà farlo da zero è troppo. Suggerimento, usa il registratore, prova a fare "qualcosa" e casomai richiedi specificando bene il passaggio che non riesci fare.

1) Ex per Bottone CANCELLA, cancella Tab1. Ferma il registratore e assegnagli la macro
2) Ex per Bottone Trasferisci, cancella Tab2, poi fai copia/incolla delle celle che desideri da Tab1 in Tab2. Assegnagli la macro
3) ecc ecc
Post: 13
Registrato il: 30/03/2020
Età: 35
Utente Junior
10
OFFLINE
03/04/2020 11:01

correggo l'esempio lasciando solo la macro piu importante... col registratore riesco a copiare una cella ed incollarla ma non riesco a stabilire quante volte incollarla in base al numero di pezzi inseriti nella colonna PEZZI. allego l'esempio
03/04/2020 14:20

Di norma basta premere ALT+F11 ed incollare sulla destra, io preferisco ALT+F11 in alto (inserisci Modulo) incolli e chiudi. Dopo col mouse destro sui bottoni Assegna macro e scegli
Post: 14
Registrato il: 30/03/2020
Età: 35
Utente Junior
10
OFFLINE
03/04/2020 14:40

e perfetto grazie... devo solo non far cancellare i pezzi alla fine della cromo e l'adatto al mio foglio.. grazie 👍
Post: 15
Registrato il: 30/03/2020
Età: 35
Utente Junior
10
OFFLINE
03/04/2020 17:17

ho modificato la formula x adattarla al mio faglio facendo delle modifiche per copiare solo i valori ma non funziona... mi dareste una mano? sul foglio di prova k vi ho mandato funzionava ma sul mio no... mi da un debug al quarto for - "For w = 1 To Cells(x, 8) 'per tot volte"...


Sub Trasferisci()

Range("B47:AAA72").Clear
Dim x As Long, y As Long, c As Long, r As Long, w As Long
'If Cells(5, 2) = "" Then MsgBox "Inserisci valori in B5:B8"
r = 27 'incollo sotto tot righe
For x = 21 To 45 'intendo da riga 5 a riga 8
c = 2 ''qual'è la prima colonna?
For y = 1 To 1 'intendo quante volte
For w = 1 To Cells(x, 2) 'per tot volte
Cells(x, y + 2).Copy
Cells(x + r, c).PasteSpecial
c = c + 1
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Next w
For w = 1 To Cells(x, 4) 'per tot volte
Cells(x, y + 4).Copy
Cells(x + r, c).PasteSpecial
c = c + 1
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Next w
For w = 1 To Cells(x, 6) 'per tot volte
Cells(x, y + 6).Copy
Cells(x + r, c).PasteSpecial
c = c + 1
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Next w
For w = 1 To Cells(x, 8) 'per tot volte
Cells(x, y + 8).Copy
Cells(x + r, c).PasteSpecial
c = c + 1
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Next w
Next y
Next x

Application.CutCopyMode = False

End Sub


sul foglio k allego va bene anche se li non ho provato ad incollare solo valori.. lo allego
[Modificato da carminep 03/04/2020 17:39]
Post: 16
Registrato il: 30/03/2020
Età: 35
Utente Junior
10
OFFLINE
03/04/2020 17:18

[Modificato da carminep 03/04/2020 17:29]
03/04/2020 17:51

Sub Trasferisci()
Range("B12:AAA15").Clear
Dim x As Long, y As Long, c As Long, r As Long, w As Long
r = 7
For x = 5 To 8
    c = 2
    For y = 2 To 6 Step 2
        For w = 1 To Cells(x, y)
            Cells(x, y + 1).Copy
            Cells(x + r, c).PasteSpecial
            c = c + 1
        Next w
    Next y
Next x
MsgBox "fatto"
Application.CutCopyMode = False
End Sub
[Modificato da ABCDEF@Excel 04/04/2020 00:01]
Post: 17
Registrato il: 30/03/2020
Età: 35
Utente Junior
10
OFFLINE
04/04/2020 16:59

ciao la macro funziona sul foglio di prova ma sul mio mi da poi ad un certo punto "errore di run-time 13 tipo non corrispondente"...
in pratica mi copia bene quando non trova una cella vuota e si blocca. questo è il codice quale puo essere il problema? o cmq come risolverlo piu che altro... sull'altro foglio di prova funziona benissimo anche con celle vuote.

Sub Trasferisci()

Range("B47:AAA72").Clear
Dim x As Long, y As Long, c As Long, r As Long, w As Long
'If Cells(5, 2) = "" Then MsgBox "Inserisci valori in B5:B8"
r = 27 'incollo sotto tot righe
For x = 21 To 45 'intendo da riga 5 a riga 8
c = 2 ''qual'è la prima colonna?
For y = 2 To 8 Step 2
For w = 1 To Cells(x, y)
Cells(x, y + 1).Copy
Cells(x + r, c).PasteSpecial
c = c + 1
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Next w
Next y
Next x

Application.CutCopyMode = False

End Sub
[Modificato da carminep 04/04/2020 17:52]
05/04/2020 08:19

Perchè non alleghi il files originale (sensa dati sensibili)

>>>Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False ???
Post: 18
Registrato il: 30/03/2020
Età: 35
Utente Junior
10
OFFLINE
05/04/2020 17:36

ecco il file..
forse mi da l'errore perche nelle celle ci sono delle formule?
Post: 19
Registrato il: 30/03/2020
Età: 35
Utente Junior
10
OFFLINE
05/04/2020 17:37

Re:
questo e per darmi solo i valori senza formula... e quello che ho trovato facendo delle ricerche non so se va bene ma funziona.

>>>Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False ???




06/04/2020 01:10

L'errore del codice è dovuto allo ZERO, pertanto la formula sarà =SE.ERRORE(SE(O($C21=0;$C21="");"";............
Si è giusto (per copiare il valore senza formula)
Post: 20
Registrato il: 30/03/2020
Età: 35
Utente Junior
10
OFFLINE
06/04/2020 14:37

ciao, purtroppo mi da ancora l'errore di run-time 13 tipo non corrispondente. sembra come se legge la formula come cella piena invece che vuota dove e vuota.sul foglio di esempio dove la macro funziona, ho provato a mettere una lettera piuttosto che un numero e cosi mi da l'errore anche li dove funzionava...
[Modificato da carminep 06/04/2020 15:09]
06/04/2020 15:55

Modifica il codice (celle vuote)
Sub Trasferisci()
Range("B48:AAA73").Clear
Dim x As Long, y As Long, c As Long, r As Long, w As Long
r = 27
For x = 21 To 45
    c = 2
    For y = 2 To 8 Step 2
        If Cells(x, y) <> "" Then
        For w = 1 To Cells(x, y)
            Cells(x, y + 1).Copy
            Cells(x + r, c).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
            c = c + 1
        Next w
        End If
    Next y
Next x
Application.CutCopyMode = False
MsgBox "fatto"
End Sub
Post: 21
Registrato il: 30/03/2020
Età: 35
Utente Junior
10
OFFLINE
06/04/2020 17:49

ok funziona problema risolto 👍👍 grazie mille abcdef@excel
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 20:47. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com