Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Macro Sostituire riga con successiva Ciclicamente

    Salve a tutti, sono nuovo del forum, o almeno sono nuovo nel scrivere in questo forum
    Detto questo,arrivo subito al dunque;Ho scritto questa piccolissima e semplicissima macro (non ho mai scritto in Vb ma conosco la programmazione molto bene (anche se sono un pò arrugginito) )
    Provo a postare la piccola macro che ho scritto :

    codice:
    codice:
    Private Sub CommandButton1_Click()
    
    Range("D5:J5").Select
    Selection.Copy
    Range("D6:J6").Select
    ActiveSheet.Paste
    Dovrei fare questo
    Dietro alla pressione del tasto devo sostituire il primo range (D5:J5) con il secondo (D6:J6). fin quà tutto bene, ora devo "semplicemente" replicare questa cosa per tutte le righe, la prima con la seconda, la seconda con la terza così via fino ad arrivare all'ultima che deve essere sostituita con la prima.
    O ancora più precisamente devo sciftare/spostare/copiare il primo range nel secondo il secondo nel terzo (senza avere mai due righe uguali chiaramente)
    Credo non sia niente di così complicato per chi è abituato a sviluppare marco in VB.
    io ho provato ad inserire dei cicli for e/o do while, ma niente inserendo chiaramente al posto dei numeri gli indici...ma niente..sto impazzendo insomma
    Spero possiate aiutarmi nel minor tempo possibile.
    Ringrazio anticipatamente chi mi risponderà...se lo farà.... :-( a prestoooo

  2. #2
    Utente di HTML.it L'avatar di torn24
    Registrato dal
    Aug 2008
    Messaggi
    551

    ciao

    Sei molto fuori regolamento , non hai indicato il linguaggio nel titolo , hai postato nel
    sub forum sbagliato , non spieghi che si tratta di vba per fogli di calcolo

    comunque una risposta provo a dartela

    premetto che conosco un po vb6 , e che non ho mai usato vba , ma la soluzione
    forse potrebbe funzionare .
    se la funzione accetta una stringa come argomento , dovrebbe accettare anche una
    variabile stringa, modificando la variabile stringa all'interno di un ciclo dovresti ottenere
    quello che chiedi , fammi sapere se funziona ,probabile che necessiti di correzioni che potrai
    fare tu stesso



    codice:
    
    Private Sub CommandButton1_Click()
    	dim stringa as string 
    	dim i as integer 
    	dim  temporanea as string
    	'SELEZIONI LA 10 RIGA E LA SALVI IN UNA VARIABILE TEMPORANEA
    	'CODICE CHE DEVI FARE TU
    	for i=10 to 5 step -1'premesso che conosci il numero di righe 
    	              'supponiamo che esistano 10 righe
    		stringa="D" & cstr(i-1)& ":" & "J" & cstr(i-1)		  
    		Range(stringa).Select
    		Selection.Copy
    		stringa="D" & cstr(i)& ":" & "J" & cstr(i)
    		Range(stringa).Select
    		ActiveSheet.Paste
    	next 
    	
    		
    		'nella prima riga cosa ci metti ??????
    end sub
    Tecnologia

  3. #3


    ok...allora 2 piccole cose : la prima è Grazie Mille...davvero...sei gentilissimo...ti prego di scusarmi di tutti gli errori che ho commesso. Come ti dicevo sono nuovo del forum...cercavo una sezione Macro excel..ma non l'ho trovata, per cui ho pensato di mettere questo post in programmazione.
    Detto questo mi sono perso un po' in quello che hai scritto....
    ora provo a postarti il file excel di esempio (molto genercio) per farti capire quello che vorrei fare...

    Vorrei che gli orari di francesco passassero a luigi, quelli di luigi a claudio e così via fino a che giovanni passi il suo orario a francesco. ecco quanto...dalla tua macro non esce fuori questo..mi cancella le prima 3 righe....


    Ancora mille grazie...

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480

    Moderazione

    Originariamente inviato da oric1985
    Salve a tutti, sono nuovo del forum, o almeno sono nuovo nel scrivere in questo forum
    C'è un Regolamento da leggere e rispettare, così come vale per l'altro forum a cui stai partecipando e in cui stai ottenendo comunque delle risposte (per cui non ha senso condurre la discussione da ambo le parti nello stesso momento, visto che ci sono persone che partecipano in entrambe le sezioni, oltre al fatto che la tua discussione rischia di essere chiusa sull'altro forum perché questo tipo di crossposting/crossforum non è ammesso).
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.