Indice del forum Excel e VBA
Soluzioni e problemi di Excel
 
 FAQFAQ   CercaCerca   Lista utentiLista utenti   GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo   Messaggi privatiMessaggi privati   Log inLog in 

Cerca verticale unito a "copia incolla"
Vai a Precedente  1, 2
 
Nuovo argomento   Rispondi    Indice del forum -> Problemi con Excel [Domande e Risposte]
Precedente :: Successivo  
Autore Messaggio
Ads






Inviato: Lun Lug 28, 2014 4:23 pm    Oggetto: Ads

Top
Zeta
Presente
Presente


Registrato: 29/02/12 14:48
Messaggi: 47

MessaggioInviato: Gio Mar 08, 2012 9:03 am    Oggetto: Rispondi citando

OK OK! Laughing

E' che non e' di immediata comprensione per me,quindi faccio un po' fatica a districarmi,cmq lo spirito del forum non e' avere la pappa pronta ma imparare,in modo che in fututro si riesca ad essere autonomi eperche' no dare qualche consiglio....

mi metto a studiare e fare le prove oggi se riesco e ti facico sapere...intanto piccola curiosità: hai un testo di riferimento da consigliarmi?

_________________
Excel 2010


***SPINACCIA USER***
Top
Profilo Invia messaggio privato Invia e-mail
Zeta
Presente
Presente


Registrato: 29/02/12 14:48
Messaggi: 47

MessaggioInviato: Gio Mar 08, 2012 10:03 am    Oggetto: Rispondi citando

Non capisco perche' sul tuo esempio la cosa funzioni alla perfezione,mentre se copio pari pari il codice sul mi la cosa non funge...

_________________
Excel 2010


***SPINACCIA USER***
Top
Profilo Invia messaggio privato Invia e-mail
sid
Moderatore
Moderatore


Registrato: 23/02/08 11:50
Messaggi: 9948

MessaggioInviato: Gio Mar 08, 2012 1:02 pm    Oggetto: Rispondi citando

Zeta ha scritto:
Non capisco perche' sul tuo esempio la cosa funzioni alla perfezione,mentre se copio pari pari il codice sul mi la cosa non funge...
E' evidente che non la adatti bene, altrimenti funzionerebbe Wink; se ti va di postarlo, privo dei dati sensibili, vediamo di darti una mano.

Zeta ha scritto:
mi metto a studiare e fare le prove oggi se riesco e ti facico sapere...intanto piccola curiosità: hai un testo di riferimento da consigliarmi?
Le mie conoscenze le ho attinte qui (sezioni Programmazione & Corsi VBA e Pillole, Tips, Funzioni & Corsi) e nel sito del grande Ennius. Ma qui c'è gente che è il top del vba, da restarci a bocca aperta; io ho rubato molto dal loro modo di programmare; però l'impegno non deve mai mancare, ciao Very Happy .

_________________
Excel 2003 - Win XP Pro SP3

Solamente gli utenti registrati possono vedere link su questo forum!
Registrati oppure Autenticati su questo forum.



Solamente gli utenti registrati possono vedere link su questo forum!
Registrati oppure Autenticati su questo forum.


Conquisterò la folla.....gli darò qualcosa che non ha mai visto prima! Massimo Decimo Meridio
Top
Profilo Invia messaggio privato
Zeta
Presente
Presente


Registrato: 29/02/12 14:48
Messaggi: 47

MessaggioInviato: Gio Mar 08, 2012 1:14 pm    Oggetto: Rispondi citando

il codice e' questo:

se all'inizio inserisco un range fisso,ad esempio: (A4:F4) e faccio partire la macro,questa funziona alla perfezione.

Codice:
Sub PROGETTO_UNO()
'
' PROGETTO_UNO Macro
'
'PRENDO I DATI CHE SERVONO DAL FOGLIO ORDINI-DA DOVE PARTE LA MACRO-
range(A4:F4).select
    Selection.Copy
    'APRO L'ALTRO FILE E INCOLLO I DATI IN UN FOGLIO DI SERVIZIO-FOGLIO1-
    Windows("CREA ORDINI DI PRODUZIONE E CICLI DI LAVORO.xls").Activate
    ActiveWorkbook.Sheets("Foglio1").Activate
    Range("A11").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("A9").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("F9").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        'PRENDO LA CELLA DOVE C'E' IL CODICE  E CERCO NELLA COLONNA A:A IL CODICE
    Range("B11").Select
    c = Selection
    ActiveWorkbook.Sheets("Dati").Activate
    Columns("A:A").Select
    Sheets("Foglio1").Select
    Range("B11").Select
    Selection.Copy
    Sheets("Dati").Select
    Selection.Find(What:=c, After:=ActiveCell, LookIn:=xlValues, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Activate
        'TROVATO IL CODICE.MI SPOSTO DI 3 COLONNE CANCELLO,VADO A PRENDERE
        'IL NUOVO NUMERO DI COMMESSA COPIO E TORNO AD INCOLLARLO
       ActiveCell.Offset(0, 3).Select
    Selection.ClearContents
    ActiveWorkbook.Sheets("Foglio1").Activate
    Range("A11").Select
    Application.CutCopyMode = False
    Selection.Copy
    ActiveWorkbook.Sheets("DATI").Activate
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        'DA NUMERO COMMESSA MI SPOSTO IN DATA
        ActiveCell.Offset(0, 1).Select
    Selection.ClearContents
    ActiveWorkbook.Sheets("Foglio1").Activate
    Range("F9").Select
    Application.CutCopyMode = False
    Selection.Copy
    ActiveWorkbook.Sheets("DATI").Activate
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        'DA DATA ODIERNA MI SPOSTO IN QUANTITà
        ActiveCell.Offset(0, 1).Select
    Selection.ClearContents
    ActiveWorkbook.Sheets("Foglio1").Activate
    Range("C11").Select
    Application.CutCopyMode = False
    Selection.Copy
    ActiveWorkbook.Sheets("DATI").Activate
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        'DA QUANTITà MI SPOSTO NELLA DATA DI CONSEGNA
        ActiveCell.Offset(0, 6).Select
    Selection.ClearContents
    ActiveWorkbook.Sheets("Foglio1").Activate
    Range("F11").Select
    Application.CutCopyMode = False
    Selection.Copy
    ActiveWorkbook.Sheets("DATI").Activate
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        'RISELEZIONO LA CASELLA DOVE C'E' IL CODICE PER FARE PARTIRE LA MACRO CHE
        'COMPILA I CICLI.
    ActiveCell.Offset(0, -11).Select
    ActiveCell.Rows("1:1").EntireRow.Select
    Selection.Copy
    Sheets("XXXX").Select
    ActiveCell.Rows("1:1").EntireRow.Select
    ActiveSheet.Paste
   
    Sheets("CICLO").Select
    Range("B16:C47").Select
    Application.CutCopyMode = False
    Selection.Copy
    ActiveWindow.ScrollRow = 1
    Range("H16").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Selection.Rows.AutoFit
    Selection.AutoFilter Field:=1, Criteria1:="<>"
    Rows("18:47").Select
    Application.CutCopyMode = False
    Selection.Sort Key1:=Range("A18"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
    Range("AA15").Select
   
    Sheets("P linea").Select
    Range("B16:C47").Select
    Selection.Copy
    ActiveWindow.SmallScroll Down:=-29
    Range("AE16").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Selection.Rows.AutoFit
    Selection.AutoFilter Field:=1, Criteria1:=">20", Operator:=xlAnd, _
        Criteria2:="<>"
    Rows("16:47").Select
    Application.CutCopyMode = False
    Selection.Sort Key1:=Range("A16"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
    Range("AE14").Select
    Sheets("CICLO").Select
    Range("B16").Select
    'STAMPO IL TUTTO!
    Sheets("Ciclo").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Aut.").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Taglio").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Attrez.").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Vernic.").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    'RITORNO AL FOGLIO DI PARTENZA
    Windows("RESOCONTO PRODUZIONE NUOVO.xlsm").Activate
    ActiveWorkbook.Sheets("STAMPA DOC+ AVANZAMENTO LAVORI").Activate
    Application.ScreenUpdating = True
    End Sub


il problema e' come detto prima fare in modo che la cosa avvenga selezioando "STAMPATO"

P.S abbiate pietà,so che probabilemente il codice scritto cosi' non e' molto elegante,ma sono davvero alle prime armi,ci sto mettendo la buona volontà...datemi tempo Wink

_________________
Excel 2010


***SPINACCIA USER***
Top
Profilo Invia messaggio privato Invia e-mail
sid
Moderatore
Moderatore


Registrato: 23/02/08 11:50
Messaggi: 9948

MessaggioInviato: Gio Mar 08, 2012 1:55 pm    Oggetto: Rispondi citando

Io non intendevo il codice, ma il file; così me lo devo costruire da solo e non mi sembra il caso Confused.
Devo vedere la struttura reale dei fogli e lavorare su di essa.

_________________
Excel 2003 - Win XP Pro SP3

Solamente gli utenti registrati possono vedere link su questo forum!
Registrati oppure Autenticati su questo forum.



Solamente gli utenti registrati possono vedere link su questo forum!
Registrati oppure Autenticati su questo forum.


Conquisterò la folla.....gli darò qualcosa che non ha mai visto prima! Massimo Decimo Meridio
Top
Profilo Invia messaggio privato
sid
Moderatore
Moderatore


Registrato: 23/02/08 11:50
Messaggi: 9948

MessaggioInviato: Gio Mar 08, 2012 3:54 pm    Oggetto: Rispondi citando

Zeta ha scritto:
A B C D E ---------
F G H I L ----------
M N O P Q ----------

Le lettere sono ognuna in una cella diversa,devo fare in modo che la mia macro (gia' finita) parta ogni qual volta la cella dove ci sono i ------- diventa uguale a "STAMPATO" (cosa che seleziono da un elenco a discesa)


Ora dici
Zeta ha scritto:
il problema e' come detto prima fare in modo che la cosa avvenga selezionando "STAMPATO"


Sono due cose nettamente diverse; scegli il valore da un elenco a discesa, o lo selezioni? Confused

_________________
Excel 2003 - Win XP Pro SP3

Solamente gli utenti registrati possono vedere link su questo forum!
Registrati oppure Autenticati su questo forum.



Solamente gli utenti registrati possono vedere link su questo forum!
Registrati oppure Autenticati su questo forum.


Conquisterò la folla.....gli darò qualcosa che non ha mai visto prima! Massimo Decimo Meridio
Top
Profilo Invia messaggio privato
Zeta
Presente
Presente


Registrato: 29/02/12 14:48
Messaggi: 47

MessaggioInviato: Gio Mar 08, 2012 4:03 pm    Oggetto: Rispondi citando

Allora Sid studiando sto facendo piccoli progressi:

il codice adesso e' funzionante anche sul file madre( non diciamo come mai non mi andava perche' mi vergogno Laughing)

il problema adesso nasce da una mia omissione: i dati che prendo da (per esempio) A3:F3 derivano da formule!!!! dovrei copiare e incollare come valori,perche' poi quando va a cercare non trova nulla!

_________________
Excel 2010


***SPINACCIA USER***
Top
Profilo Invia messaggio privato Invia e-mail
sid
Moderatore
Moderatore


Registrato: 23/02/08 11:50
Messaggi: 9948

MessaggioInviato: Gio Mar 08, 2012 4:38 pm    Oggetto: Rispondi citando

Ti rimando il mio codice adattato alla copia dei soli valori; logicamente dovrai riadattarlo al tuo:


Codice:
Option Compare Text
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
Dim WB As Workbook
Dim book As Workbook
Dim area As Range
Dim riga As Long
Dim aperto As Boolean
Dim nome_file As String
Dim percorso As String

On Error GoTo uscita
percorso = "C:\Documents and Settings\matteo\Desktop\GESTIONE\"
nome_file = "CREA ORDINI DI PRODUZIONE E CICLI DI LAVORO.xlsx"
riga = Target.Row

Set area = Me.Range("G:G")
If Not Intersect(Target, area) Is Nothing Then
   If CStr(Target) = "STAMPATO" Then
      If Me.Range("A" & riga) <> "" Then
         For Each book In Workbooks
            If book.Name = nome_file Then
               aperto = True
               Set WB = Workbooks(nome_file)
               Me.Range("A" & riga, "F" & riga).Copy
               WB.Sheets("Foglio1").Range("A11").PasteSpecial _
                Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                :=False, Transpose:=False
                Application.CutCopyMode = False
                With WB
                .Activate
                    .Sheets("Foglio1").Range("A1").Select
                    .Save
               End With
                MsgBox "Copia dati eseguita correttamente", vbInformation _
                , "COPIA DATI"
               Exit For
            End If
         Next book
         If Not aperto Then
            Workbooks.Open Filename:=percorso & nome_file
            Set WB = Workbooks(nome_file)
            Me.Range("A" & riga, "F" & riga).Copy
            WB.Sheets("Foglio1").Range("A11").PasteSpecial _
            Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
            Application.CutCopyMode = False
            With WB
                .Sheets("Foglio1").Range("A1").Select
                .Save
            End With
            MsgBox "Copia dati eseguita correttamente", vbInformation _
            , "COPIA DATI"
         End If
      Else
         MsgBox "Non c'è nessun dato da copiare", vbCritical _
         , "ATTENZIONE"
         Application.EnableEvents = False
         Target.Value = ""
         Application.EnableEvents = True
      End If
   End If
End If
uscita:
If Err.Number <> 0 Then
   MsgBox Err.Description
End If
Application.ScreenUpdating = True
Set area = Nothing
Set WB = Nothing
End Sub

_________________
Excel 2003 - Win XP Pro SP3

Solamente gli utenti registrati possono vedere link su questo forum!
Registrati oppure Autenticati su questo forum.



Solamente gli utenti registrati possono vedere link su questo forum!
Registrati oppure Autenticati su questo forum.


Conquisterò la folla.....gli darò qualcosa che non ha mai visto prima! Massimo Decimo Meridio
Top
Profilo Invia messaggio privato
Zeta
Presente
Presente


Registrato: 29/02/12 14:48
Messaggi: 47

MessaggioInviato: Lun Mar 12, 2012 9:17 am    Oggetto: Rispondi citando

Sono ancora vivo eh! causa qualche problemuccio non sono andato avanti con la sistemazione della cosa...eventualmente sid sto creando una versione dei miei file,privi dei dati sensibili,ma preferisco lavorarci io prima,in modo da imparare qualcosa..la pappa pronta e' buona,ma alla lunga non sfama Wink

_________________
Excel 2010


***SPINACCIA USER***
Top
Profilo Invia messaggio privato Invia e-mail
sid
Moderatore
Moderatore


Registrato: 23/02/08 11:50
Messaggi: 9948

MessaggioInviato: Lun Mar 12, 2012 3:56 pm    Oggetto: Rispondi citando

Quando vuoi siamo qui; ciao Very Happy .

_________________
Excel 2003 - Win XP Pro SP3

Solamente gli utenti registrati possono vedere link su questo forum!
Registrati oppure Autenticati su questo forum.



Solamente gli utenti registrati possono vedere link su questo forum!
Registrati oppure Autenticati su questo forum.


Conquisterò la folla.....gli darò qualcosa che non ha mai visto prima! Massimo Decimo Meridio
Top
Profilo Invia messaggio privato
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> Problemi con Excel [Domande e Risposte] Tutti i fusi orari sono GMT + 2 ore
Vai a Precedente  1, 2
Pagina 2 di 2

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi
c d
e



Powered by phpBB © 2001, 2005 phpBB Group
phpbb.it

Abuse - Segnalazione abuso - Utilizzando questo sito si accettano le norme di TOS & Privacy.
Powered by forumup.it forum gratis free, crea il tuo forum gratis free ora! Created by Hyarbor & Qooqoa
Confirmed

Page generation time: 0.145