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

Inserimento righe automatico

Ultimo Aggiornamento: 07/06/2021 09:27
Post: 1
Registrato il: 03/06/2021
Età: 46
Utente Junior
microsoft excel 2010
OFFLINE
04/06/2021 08:30

Salve. Mi sono appena iscritta al forum. Ho bisogno delle vostre conoscenze, se esiste un codice o una formula per l'inserimento rapido di righe con contenuto.
Ho una sola colonna detta QUOTE.
Devo inserire 3 righe con contenuto ogni qual volta vi è una variazione del valore z all'interno delle celle. Z varia da z-64 a z-66, z-68, etc.. Le 3 righe devono essere inserite tra l'ultima riga contenente z-64 e la prima contenete z-66, e così a seguire. Le celle inserite devono contenere: 1° riga deve contenere il valore G73X200, la 2° deve contenere il valore della prima riga con z > di quella precedente, la 3° riga deve contenere G73X1500. Allego esempio, dove le righe in giallo rappresentano le righe da inserire con valore fisso, in rosso la riga con valore variabile che corrisponde a quello contenuto nella riga verde. Grazie per l'attenzione.
Post: 6.388
Registrato il: 14/11/2004
Utente Master
Office 2019
OFFLINE
07/06/2021 07:59

Ciao ADRIANA78, non so se ho capito bene comunque questa è la macro che fa il lavoro, con le formule non so nemmeno da dove cominciare.

Sub InsRighe()
Dim r, r1, c, d, d1, d2, x, k, ins

r1 = Cells(Rows.Count, 1).End(xlUp).Row
d1 = "G73X200"
d2 = "G73X1500"
For x = r1 To 9 Step -1
  d = Cells(x, 1)
  If Mid(d, Len(d) - 3, 1) = "Z" Then
    k = Cells(x - 1, 1)
    If Mid(d, Len(d) - 3, 4) <> Mid(k, Len(k) - 3, 4) Then
      Cells(x, 2) = "*"
      Range("A" & x & ":B" & x + 3).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
      Cells(x, 1) = d1
      Cells(x + 1, 1) = k
      Cells(x + 2, 1) = d2
      Cells(x + 3, 1) = k
      GoTo 1
    End If
  End If
1 Next x
End Sub


un unica cosa vedi che questa riga di codice la riga 7 sopra

For x = r1 To 9 Step -1


ho inserito 9 perche da quello che vedo la prima riga differente con la "Z" è la 8 come vedi dai primi codici

G02 Z-54
G02 Z-64


comunque quel 9 non deve mai essere inferiore a 2 altrimenti va in errore

ti ho fatto anche inserire un asterisco nella colonna "B" per indicare dove è stato fatto l'inserimento, quindi quando inserisci nuovi dati tieni conto di cancellare anche la colonna "B"

io non so se va bene fai sapere, per lanciare la macro premi "Alt+F8" si apre la mascherina delle macro, ce ne è una sola "InsRighe" la selezioni e premi esegui oppure clicca 2 volte sul nome.

ti allego anche il tuo file, vedi che per fare le prove ho copiato i tuoi dati nel foglio2 in modo da fere copia incolla per le prove.

Ciao By Sal (8-D



[Modificato da by sal 07/06/2021 08:50]
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Post: 6.389
Registrato il: 14/11/2004
Utente Master
Office 2019
OFFLINE
07/06/2021 08:03

Hoops file dimenticato
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Post: 1
Registrato il: 03/06/2021
Età: 46
Utente Junior
microsoft excel 2010
OFFLINE
07/06/2021 08:44

INSERIMENTO RIGHE AUTOMATICO
Grazie by Sal per il tuo interessamento.
Le righe con contenuto G73 x200 e G73 X1500 vanno bene. Ma tra queste 2 righe deve essere inserita la riga con contenuto
uguale a quella che si viene a trovare sotto a G72 X1500 che corrisponde alla riga in cui si trova la prima z con valore >.
Ad esempio abbiamo la riga con z-64 e la riga con z-66. Le tre righe da inserire si devono posizionare tra queste 2.
La 2° riga di queste inserite deve contenere lo stesso valore della prima riga contenete z-66.
Credo che basti modificare qualcosa nel codice, ma io non so dove.
Ti ringrazierei infinitamente se mi apportassi tu detta modifica.
Post: 6.390
Registrato il: 14/11/2004
Utente Master
Office 2019
OFFLINE
07/06/2021 08:56

Ciao ma infatti vedi alla riga 330 del foglio 1 qui

G02 X1613.83194 Y1632.84893 Z-64
G02 X1615.3233 Y1634.46272 Z-64
G73X200
G02 X1615.3233 Y1634.46272 Z-64
G73X1500
G02 X1615.3233 Y1634.46272 Z-64
G02 X1613.96571 Y1632.99269 Z-66

dopo z-64 viene G73X200

poi di nuovo la riga con z-64

poi G73X1200

e di nuovo la riga Z-64

almeno questo è il tuo esempio

Ciao By Sal (8-D

se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Post: 2
Registrato il: 03/06/2021
Età: 46
Utente Junior
microsoft excel 2010
OFFLINE
07/06/2021 09:12

inserimento automatico righe
Vorrei questo.

G02 X1612.46333 Y1631.38915 Z-64
G02 X1613.83194 Y1632.84893 Z-64
G02 X1615.3233 Y1634.46272 Z-64
G73 X200
G02 X1615.3233 Y1634.46272 Z-66
G73 X1500
G02 X1615.3233 Y1634.46272 Z-66
G02 X1613.96571 Y1632.99269 Z-66

Scusami se non sono stata chiara.

Post: 6.391
Registrato il: 14/11/2004
Utente Master
Office 2019
OFFLINE
07/06/2021 09:21

Ciao ADRIANA78, scusami hai ragione non avevo visto bene il tuo esempio, non riporta la riga con 64 ma quella con il 66.

ti ho modificato la macro ecco il nuovo file

Ciao By Sal (8-D
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Post: 6.392
Registrato il: 14/11/2004
Utente Master
Office 2019
OFFLINE
07/06/2021 09:22

Hoops stamattina internet fa i capricci

ecco il file Modificato con la macro
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Post: 3
Registrato il: 03/06/2021
Età: 46
Utente Junior
microsoft excel 2010
OFFLINE
07/06/2021 09:27

INSERIMENTO AUTOMATICO RIGHE
Perfetto. Grazie Mille "by Sal".
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 12:19. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com