Inserimenti in determinate colonne



  • Inserimenti in determinate colonne
    di Kirotta data: 18/01/2014 23:02:13

    Ciao a tutti
    In un foglio excel vorrei copiare i numeri della colonna B:
    -nella colonna C se sono uguali al gruppo di numeri 1,4,7,10 (gruppo A)
    -nella colonna D se sono uguali al gruppo di numeri 2,5,8,11 (gruppo B)
    -nella colonna E se sono uguali al gruppo di numeri 3,6,9,12 (gruppo C)
    Esempio:
    B2 = 1 appartiene al gruppo A quindi C2 = 1
    B3 = 2 appartiene al gruppo B quindi D2 = 1
    B4 = 3 appartiene al gruppo C quindi E2 = 1

    Grazie



  • di patel data: 19/01/2014 09:43:18

    ormai dovresti aver capito che se alleghi un file di esempio ci aiuti a risponderti





  • di patel data: 19/01/2014 09:44:35

    oltre all'aiuto ci invogli a risponderti





  • di Kirotta (utente non iscritto) data: 19/01/2014 22:06:18

    file allegato...




  • di patel data: 20/01/2014 08:04:29

    la colonna B è vuota





  • di Kirotta (utente non iscritto) data: 20/01/2014 15:48:08

    è questo il problema... la colonna B è inizialmente vuota xchè i numeri che andrebbero a riempirla gli inserisco dalla Form tramite il tasto Start, quindi vorrei se possibile x ogni numero che compare nella colonna B compaia un numero:
    -nella colonna C se fa parte del gruppo di numeri 1,4,7,10 (gruppo A)
    -nella colonna D se fa parte del gruppo di numeri 2,5,8,11 (gruppo B)
    -nella colonna E se fa parte del gruppo di numeri 3,6,9,12 (gruppo C)
    Esempio:
    B2 = 1 appartiene al gruppo A quindi C2 = 1
    B3 = 2 appartiene al gruppo B quindi D2 = 1
    B4 = 3 appartiene al gruppo C quindi E2 = 1

    Ho provato con il codice:
    If Range("B2") = 1 Then
    Range("C2").Select
    ActiveCell.FormulaR1C1 = "1"

    If Range("B3") = 1 Then
    Range("C3").Select
    ActiveCell.FormulaR1C1 = "1" eccetera

    ma se devo farlo x tutti i numeri il codice è lunghissimo e non và benissimo
    ho provato a creare degli array ma non riesco e non sò se centrano qualcosa in questo caso






  • di patel data: 20/01/2014 17:27:20

    prova così
     
    Private Sub cmdStart_Click()
    Dim LR As Integer
      LR = Cells(Rows.Count, "B").End(xlUp).Row + 1
      Sheets(1).Cells(LR, 2) = Val(txtStart)
      Select Case Val(txtStart)
      Case 1, 4, 7, 10
        Sheets(1).Cells(LR, 3) = Val(txtStart)
      Case 2, 5, 8, 11
        Sheets(1).Cells(LR, 4) = Val(txtStart)
      Case 3, 6, 9, 12
        Sheets(1).Cells(LR, 5) = Val(txtStart)
      End Select
    End Sub






  • di Kirotta (utente non iscritto) data: 20/01/2014 19:23:55

    Grazie Patel
    Avevo pensato al Case ma pensavo che servisse x far apparire messaggi x scelte diverse... buon a sapersi!
    Non per essere pignola ma ci sarebbe anche la possibilità di far risultare i numeri, oltre che nelle colonne giuste anche incolonnati senza spazi:
    B2 = 1 appartiene al gruppo A quindi C2 = 1
    B3 = 2 appartiene al gruppo B quindi D2 = 2
    B4 = 3 appartiene al gruppo C quindi E2 = 3
    B5 = 4 appartiene al gruppo A quindi C3 = 4

    Ho provato a modificare il tuo codice ma ho numeri che vanno da tutte le parti

    se puoi se no riproverò!!!

     
                          B             C        D       E
                          1             1        2       3
                          2             4        5       9
                          3             1        8       9
                          4            
                          5     
                          9
                          1
                          8
                          9



  • di patel data: 20/01/2014 19:37:05

    Così
     
    Private Sub cmdStart_Click()
    
    Dim LR As Integer
      LR = Cells(Rows.Count, "B").End(xlUp).Row + 1
      LRC = Cells(Rows.Count, "C").End(xlUp).Row + 1
      LRD = Cells(Rows.Count, "D").End(xlUp).Row + 1
      LRE = Cells(Rows.Count, "E").End(xlUp).Row + 1
      Sheets(1).Cells(LR, 2) = Val(txtStart)
      Select Case Val(txtStart)
      Case 1, 4, 7, 10
        Sheets(1).Cells(LRC, 3) = Val(txtStart)
      Case 2, 5, 8, 11
        Sheets(1).Cells(LRD, 4) = Val(txtStart)
      Case 3, 6, 9, 12
        Sheets(1).Cells(LRE, 5) = Val(txtStart)
      End Select
    End Sub






  • di Kirotta (utente non iscritto) data: 20/01/2014 21:28:01



    Era quello che volevo............GRAZIE!!!



  • di Grograman (utente non iscritto) data: 21/01/2014 12:03:15

    Patel occhio al tipo di variabile
     
    Option Explicit
    
    Sub longo()
    Dim LR As Integer
    LR = Cells(Rows.Count, "B").Row + 1
    End Sub
    
     



  • di Kirotta (utente non iscritto) data: 21/01/2014 18:20:25

    Ciao a tutti

    non capisco il riferimento alla variabile di Grograman!!!!????!!! Comunque.... ho allegato il nuovo file (file 3) con le modifiche che ho fatto:

    vorrei far apparire nelle colonne F,G e H altre sequenze di numeri partendo sempre da cio che appare in B quindi ho aggiunto altre opzioni nel CASE solo che i numeri ugali a quelli nei CASE x colonna C,D,E non me li fa comparire anche in FGH mentre quelli diversi si xchè?

    In
    F 1,2,3,4
    G 5,6,7,8
    H 9,10,11,12

    Nel file ho lasciato i miei tentativi...

    invece con il tasto reset vorrei eliminare l'ultimo numero apparso nel foglio coi rispettivi collegamenti nelle altre colonne, invece a me cancella solo l'ultimo numero che appare in B

    quindi se premo reset deve cancellarmi ad es l' 1 in B7 l' 1 in C2 l'1 in F1 ecc




  • di patel data: 21/01/2014 19:57:12

    le opzioni del CASE devono essere tutte differenti





  • di Kirotta (utente non iscritto) data: 21/01/2014 20:02:48

    allora come posso fare?



  • di patel data: 22/01/2014 08:36:12

    non ho capito bene il tuo obiettivo





  • di Kirotta (utente non iscritto) data: 22/01/2014 11:07:49

    Stó seguendo un esercizio:
    Ora mi dice di mettere in F i numeri che appaiono in B se sono uguali a 1,2,3,4
    In G i numeri che sono uguali a 5,6,7,8 e in H se sono uguali a 9,10,11,12



  • di patel data: 22/01/2014 11:34:46

    vedo che sono tutti diversi, quindi dov'è il problema, scrivi una nuova macro





  • di Kirotta (utente non iscritto) data: 23/01/2014 21:20:53

    Ciao
    Non Va
    Ho scitto il codice in un modulo e lo reso Pubblico e ho scritto in Public Sub Workbook_Open()
    Modulo1.Colonne
     
    Public Sub Colonne(ByVal value As Integer)
    
    LRF = Cells(Rows.Count, "F").End(xlUp).Row + 1
    LRG = Cells(Rows.Count, "G").End(xlUp).Row + 1
    LRH = Cells(Rows.Count, "H").End(xlUp).Row + 1
    
      Select Case Val(txtStart)
      Case 1, 2, 3, 4
        Sheets(1).Cells(LRF, 6) = Val(txtStart)
      Case 5, 6, 7, 8
        Sheets(1).Cells(LRG, 7) = Val(txtStart)
      Case 9, 10, 11, 12
    Sheets(1).Cells(LRH, 8) = Val(txtStart)
          
    End Select
    
     End Sub
    



  • di patel data: 23/01/2014 22:26:55

    Se non spieghi cosa vuoi ottenere è difficile rispondere





  • di Kirotta (utente non iscritto) data: 24/01/2014 19:35:02

    Ciao a tutti
    Ho provato a richiamare il Modulo in:
    Private Sub cmdStart_Click()

    Call Colonne (Value)

    (Vedi Codice)

    ma non mi appare nessun numero in F,G,H
    Io voglio che quello che appare in txtStart appaia in F,G e H secondo i casi descritti nel case



     
    Private Sub cmdStart_Click()
    
    Dim LR As Integer
                
      LR = Cells(Rows.Count, "B").End(xlUp).Row + 1
      LRC = Cells(Rows.Count, "C").End(xlUp).Row + 1
      LRD = Cells(Rows.Count, "D").End(xlUp).Row + 1
      LRE = Cells(Rows.Count, "E").End(xlUp).Row + 1
      
      Sheets(1).Cells(LR, 2) = Val(txtStart)
      
      Select Case Val(txtStart)
      Case 1, 4, 7, 10
        Sheets(1).Cells(LRC, 3) = Val(txtStart)
      Case 2, 5, 8, 11
        Sheets(1).Cells(LRD, 4) = Val(txtStart)
      Case 3, 6, 9, 12
        Sheets(1).Cells(LRE, 5) = Val(txtStart)
        
      End Select
      
      Call Colonne(value)
      
    End Sub