Spostare i numeri in verticale e orizzontale con pulsante macro

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
cico777
00lunedì 2 settembre 2019 19:13
Spostare i numeri delle righe attraverso pulsante macro
Salve a tutti, vorrei poter spostare i numeri delle righe attraverso pulsanti con le macro.

Allego file di esempio.
Grazie mille.
Marius44
00lunedì 2 settembre 2019 22:16
Ciao
Non ho visionate il file ma ti consiglio di cercare

Trasporre (ruotare) dati da righe a colonne o viceversa

nella Guida di Excel.

Ciao,
Mrio
cico777
00martedì 3 settembre 2019 14:02
La ringrazio per l'interesse ma probabilmente mi sono espresso male, non è quello che volevo il titolo è ingannevole, ho cercato di correggerlo ma non ci sono riuscito; il file fa capire cosa sto cercando.
Vorrei poter spostare i numeri da sinistra a destra col pulsante tramite macro.
Grazie.
tanimon
00martedì 3 settembre 2019 15:34
Re:
ciao a tutti [SM=x423028]

cico777, 03/09/2019 14.02:


il file fa capire cosa sto cercando.
Vorrei poter spostare i numeri da sinistra a destra col pulsante tramite macro.




Da quello che dici, dovrebbe essere un taglia/incolla.
Prova con il registratore di macro.

Ma dubito che sia solo questo ciò che stai cercando.............

Ciao
Frank
GiuseppeMN
00martedì 3 settembre 2019 15:40
Buon pomeriggio, @cico777;
mi perdoni ma non mi è perfettamente chiaro ciò che desidera ottenere.

Potrebbe, cortesemente, esplicitare il risultato che desidera ottenere nel Foglio2 ?

Grazie.



A disposizione.

Giuseppe
cico777
00mercoledì 4 settembre 2019 13:12
Chiedo scusa ricarico il file corretto senza il foglio 2.

Con i pulsanti vengono spostati i numeri in modo che premendo la prima volta nella riga 3 l' 1 va al posto del 2, il 2 al posto del 3,
l' 11 al posto del 1 e così via.
Grazie.
Marius44
00mercoledì 4 settembre 2019 16:07
Ciao
Nel tuo file ho inserito, nel Modulo di Foglio1, questa macro
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim num(1 To 11)
If Not Intersect(Target, Range("L:L")) Is Nothing Then
  r = Target.Row
  If Cells(Target.Row, 1) <> "" Then
    If r >= 3 And r <= 6 Then
      For i = 1 To 11
        num(i) = Cells(r, i)
      Next i
      For i = 1 To 10
        temp = num(i)
        num(i) = num(i + 1)
        num(i + 1) = temp
        Cells(r, i + 12) = num(i)
      Next i
      Cells(r, 23) = num(11)
    ElseIf r >= 12 And r <= 15 Then
      For i = 1 To 11
        num(i) = Cells(r, i)
      Next i
      For i = 1 To 10
        temp = num(i)
        num(i) = num(i + 1)
        num(i + 1) = temp
        Cells(r, i + 12) = num(i)
      Next i
      Cells(r, 23) = 1 + num(10)
    End If
  End If
End If
End Sub


Ci sono due tipi di spostamento perchè credo che nella tua richiesta ci sia un errore.
Ti allego il file (basta selezionare una cella della colonna L)
Fai sapere. Ciao,
Mario
dodo47
00mercoledì 4 settembre 2019 16:37
Re:
cico777, 04/09/2019 13.12:

....premendo la prima volta ....



tre curiosità:
- e premendo la seconda volta etc etc ??

- devi creare una nuova tabella o sovrascrivere l'esistente?

- ci sono spazi vuoti nelle colonne ?

saluti



Marius44
00mercoledì 4 settembre 2019 18:20
Ciao Domenico

cosa intendi? Non capisco!
Se selezioni una cella della colonna L, esegue - chiamiamola così per semplicità - la trasposizione dei dati (presenti o non presenti) nelle celle a fianco PURCHE' la cella della col.A relativa sia piena.

Ciao,
Mario
cico777
00mercoledì 4 settembre 2019 19:25
Grazie per l aiuto ma non e' quello che volevo.
Ogni volta che premo il pulsante i numeri si sovrascrivono e si spostano a destra di una cella e l'ultimo diventa primo.

Quando premo la seconda volta l'1 che passa a b3 ora si sposta su c3, il 2 che ha preso il posto di 3 in c3 ora passa a d3, il 3 passa a e4 ecc.. L'11 ora passa a a3 e cosi via.
Grazie.
Marius44
00mercoledì 4 settembre 2019 21:03
Ciao
Guarda che è quello che fa la mia macro con la differenza che, per farti notare il lavoro, riporta i numeri dalla colonna K i poi. Ma basta sostituire qualcosa ed il gioco è fatto.

Ciao,
Mario
cico777
00mercoledì 4 settembre 2019 21:52
La ringrazio, i numeri devono stare all'interno delle righe da A a K non fuori.
Grazie tante.
dodo47
00giovedì 5 settembre 2019 09:49
@Mario

"le curiosità" erano rivolte a cico non a te Mario....😉

cari saluti



GiuseppeMN
00giovedì 5 settembre 2019 13:18
Buon pomeriggio gentilissimo @cico777;
solo una domanda, la sequenza in A3:K3 deve essere:

2    3    4    5    6    7    8    9    10    11    1

oppure

2    3    4    5    6    7    8    9    10    11    12



Grazie dell'attenzione che potrà dedicarmi.



Buon pomeriggio.

Giuseppe
GiuseppeMN
00giovedì 5 settembre 2019 15:22
Buon pomeriggio, @cico777;
mi perdoni l'ardire, ma, considerando che molto difficilmente potrò seguire questa interessante discussione prima di Lunedì p.v. mi permetto di proporre un Codice VBA.

Preliminarmente è necessario posizionare il cursore su una Cella della Riga da analizzare, poi si può attivare questo Codice VBA.

 
Option Explicit

Sub Analizza()
Application.ScreenUpdating = False
Dim x As Byte
Dim Rcd(11) As Byte

    For x = 1 To 11
        Rcd(x) = Cells(ActiveCell.Row, x)
    Next x
        Cells(ActiveCell.Row, 1) = Rcd(11)
    For x = 2 To 11
        Cells(ActiveCell.Row, x) = Rcd(x - 1)
    Next x
Application.ScreenUpdating = True
End Sub

In buona sostanza, relativamente alla Riga 3, il risultato sarebbe:



11 1 2 3 4 5 6 7 8 9 10


Veda Lei se il risultato può essere soddisfacente.



Considerando che sarò assente da domani fino a Lunedì p.v., auguro a Tutti un buon fine settimana.

Giuseppe
cico777
00giovedì 5 settembre 2019 15:43
La ringrazio per l'aiuto, non essendo esperto non ho capito come attivare il codice vba.
Ho messo il codice da lei creato nel modulo vba del foglio in esame ma non so come proseguire.
Grazie tante.
GiuseppeMN
00giovedì 5 settembre 2019 16:37
Buon pomeriggio, @cico777;
uno dei modi per attivare un Codice VBA potrebbe essere quello di attribuire ad un pulsante questo compito.
Voglio dire, premendo un "pulsante" al quale è stato legato un Codice VBA, è possibile attivarne l'esecuzione.

Per i miei Test ho delegato a questo scopo una delle "frecce" già presente nel Foglio1 del Suo esempio.

Nell'immagine in allegato ho cercato di spiegare i passaggi essenziali per ottenere quanto sopra esposto.

Nel caso in cui non sia stato esaustivo, Lunedì, posso allegare il File con il quale ho condotto i miei Test.



A disposizione.

Giuseppe
cico777
00giovedì 5 settembre 2019 20:27
Grazie ancora e buon fine settimana anche a lei.
Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 20:51.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com