Condividi tramite

Userforn textbox/label

Anonimo
2019-03-20T06:59:36+00:00

Buogiorno ragazzi ho una richiesta da farvi:

Su Foglio1 ho un range di celle (A1:AE24) che tramite una formattazione condizionata in base al valore inserito che va da 1 a 12 cambiano colore di sfondo. Io devo ricreare la stessa cosa con una Userform, che andrò a richiamare con un CommandButton, formata da tanti textbox o label (a seconda di quello che sarà più opportuno) che andranno a cambiare il colore sfondo in base alle celle collegate. Come posso fare tutto questo in VBA?H Help Help! Help!

Premessa: la Userform la so "costruire", mi serve la parte VBA

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2019-03-31T18:38:18+00:00

Prova con:

   Set oRangeP = ThisWorkbook.Worksheets("FERIE").Range(sRangeP)

   NumRigheP = oRangeP.Rows.Count

   With Me

   For i = 1 To NumRigheP Step 2

      cont=cont+1

      .Controls("Labelp" & cont).Caption = oRangeP(i, 1)

   Next i

   End With

Ne prosegui della tua routine c'è un "cont = cont + 1"

Ma mi pare che non sia poi realmente utilizzato (forse un residuo dal mio codice che "costruireva anche le label".

Se invece fosse utilizzato allora dopo il ciclo dei controlli del personale va impostato nuovamente a zero indicando cont = 0

La risposta è stata utile?

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2019-03-31T18:26:27+00:00

Ma B3:B23 sono più di 12 righe (21 per l'esattezza).

Mentre le label del personale sono solo 12.

Ho letto male e l'intervallo è B3:B26, quindi 24 righe.

Si tratta di righe unite due a due?

La risposta è stata utile?

0 commenti Nessun commento

36 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2019-03-21T16:45:09+00:00

    Ok ok....ultima richiesta:

    Se il mio range d'interesse nel foglio1 è D3:AH26 e non A1:AE24 (ci sono altre celle con dati nel foglio ma nn interessano) modifico solo la riga

    Const sRange As String = "D3:AH26"

    oppure devo modificare altro?

    Grazie infinitamente :)

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2019-03-21T08:12:40+00:00

    ActiveCell.Interior.ColorIndex?

    Se ho inteso il colore dipende da una formattazione condizionale.

    Quindi le celle non hanno un "colore interno".

    Bisognerebbe intercettare la formattazione condizionale ma è una cosa piuttosto complicata mi sa.

    Fai prima a vedere quali sono le combinazione RGB che hai impostato in base ai valori della cella e impostare quelle.

    ciao

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2019-03-21T07:48:16+00:00

    Grazieeeeee :)

    Per le label con il copia e incolla, fatta la prima riga, ci ho messo un minuto. Ho voluto farlo in manuale perche nella userform c'erano altri comandi e poi evitando i cicli for next di creazione label dovrebbe essere piu veloce nell'apertura.

    Ho 2 domande ma solo per curiosità:

    1. Se il mio range nel foglio1 va da d3 a h26 e non A1:AE24 cambio solo la riga

    Const sRange As String = "D3:AH26"

    oppure devo modificare altro?

    1. Per estrapolare piu velocemente il colore delle celle non si puo usare

    ActiveCell.Interior.ColorIndex anziche Select Case?

    La risposta è stata utile?

    0 commenti Nessun commento