Concatena SE



  • Concatena SE...
    di lucaferrolf data: 21/10/2013 09:20:20

    vorrei un aiuto per un file.

    Foglio 1 con elenco componenti
    Folgio 2 con tabella colore che corrisponde agli elementi, di volta in volta io manualmente coloro le caselle in base alla disponibilità.

    Sarebbe possibile fare un concatena del foglio 1 se colore rosso per poter far compilare un elenco dei componenti mancanti ?!?.



  • di Vecchio Frac data: 21/10/2013 11:17:15

    cit. "fare un concatena del foglio 1 se colore rosso"
    ---> Non chiaro... esempio pratico, grazie ^_^





  • di lucaferrolf data: 21/10/2013 11:25:04

    INSERITO ALLEGATO



  • di Raffaele_53 (utente non iscritto) data: 21/10/2013 16:25:00

    Forse hai sbagliato files
    Comunque non si capisce cosa desideri



  • di lucaferrolf data: 21/10/2013 16:46:00

    File giusto.

    Foglio1 ORDINE raccoglie i componenti da fare
    Foglio2 Situazione raccoglie le disponibilità di magazzino
    Foglio3 Elenco dei componenti da fare.

    se nel foglio 2 la casella è rossa cancatena i contenuti del foglio1 e li inserisce nel foglio 3 come elenco di produzione.



  • di Raffaele_53 (utente non iscritto) data: 21/10/2013 17:22:25

    Non capisco ancora.
    In foglio1 c'è scritto Rossi, sedia, stoffa OK
    In Foglio2, in colonna C tre celle rosse e tre verdi (a fianco alcune voci, sopra il numero 1)
    In Foglio3, concatenare (presumo dalla riga 2 in poi) si, mà che cosa?

    Mi sembra che ci voglia una macro, ma finchè non fai un'esempio pratico per capire, non si può scriverlo.



  • di lucaferrolf data: 21/10/2013 17:36:39

    OK COMPILO ANCHE PAGINA 3



  • di Raffaele_53 (utente non iscritto) data: 21/10/2013 19:03:31

    Un esempio classico era dovuto. Da qui capendo il fabbisogno, si poteva proporre diverse migliorie ed alla fine si creava un codice valido (oppure altro se fossero stati possibili)

    Per me la struttura del files e dei dati futuri è incomprensibile
    Comunque per quel poco che ho capito, questo codice lo fà

    Cancella il foglio3, controlla ogni celle in C4:O13 e se di colore rosso
    Mette il prodotto in foglio3, Il cliente riferito al numero in C2 e Valori a fianco del cliente.
     
    Option Explicit
    Sub compila()
    Dim F1 As Worksheet, F2 As Worksheet, F3 As Worksheet
    Dim Area As Range, Cella As Object
    Dim Uriga As Long, R As Long, C As Long, Cliente As Long, RR As Long
    Dim Prodotto As String
    RR = 2
    Set F1 = Sheets("Ordini")
    Set F2 = Sheets("Situazione")
    Set F3 = Sheets("Produzione")
    Set Area = F2.Range("C4:O13")
    Uriga = F3.Range("A" & Rows.Count).End(xlUp).Row
    If Uriga > 1 Then
    F3.Range("A2:O" & Uriga).ClearContents
    End If
    For Each Cella In Area
    If Cella.Interior.ColorIndex = 3 Then
     R = Cella.Row
     C = Cella.Column
    Cliente = F2.Cells(2, C)
    Prodotto = F2.Cells(R, 2)
    F3.Cells(RR, 1) = Prodotto
    F3.Cells(RR, 2) = F1.Cells(Cliente, 2)
    F3.Cells(RR, 3) = F1.Cells(Cliente, 3)
    F3.Cells(RR, 4) = F1.Cells(Cliente, 5)
    RR = RR + 1
    End If
    Next
    If RR > 2 Then
       F3.Sort.SortFields.Clear
        F3.Sort.SortFields.Add Key:=Range( _
            "B2:B" & RR), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
            xlSortNormal
        With F3.Sort
            .SetRange Range("A2:O" & RR)
            .Header = xlGuess
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
        End If
    Set F1 = Nothing
    Set F2 = Nothing
    Set F3 = Nothing
    Set Area = Nothing
    End Sub



  • di lucaferrolf data: 22/10/2013 08:55:50

    grazie.