modifica macro incolla

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
xam99
00venerdì 5 febbraio 2016 21:50
Ciao a tutti.
Questa macro:

Private Sub Worksheet_Change(ByVal Target As Range)
 Dim cell As Range
 Dim C As Integer
 
  With ActiveSheet
  
  For Each cell In Target
  
 C = C + 1

 Next
 If C > 1 Then Exit Sub
 
If Not Intersect(Target, .Range("$A$4:$A$20")) Is Nothing And .Range("$J$1").Value = "no" Then

If Target.Value <> "" Then

  MsgBox "non hai incollato nella cella esatta"

    End If
    
    End If
    
  End With
  
End Sub


se viene incollato un testo in una sola cella si vusualizza il messaggio, se il testo viene incolllato in più di una cella conteporamente non appare il msgbox.
Un aiuto per correggere?
Grazie,
xam
rollis13
00venerdì 5 febbraio 2016 22:42
Prima di tutto bisognerebbe capire/sapere esattamente cosa intendi realizzare con quella macro.
In ogni caso, il controllo sul numero di celle selezionate è effettuato da queste righe:
        For Each cell In Target
            C = C + 1
        Next
        If C > 1 Then Exit Sub
Il For/Next conta tutte le celle interessate (C=C+1) mentre il If/Then interrompe la macro se C risulta superiore a 1, ovvero, se sono state selezionate più celle.
Pertanto, se desideri che la macro proceda comunque al controllo successivo devi eliminare queste quattro righe.
xam99
00venerdì 5 febbraio 2016 23:00
Ciao rollis.
Ora dopo il canc a tutte le celle và in errore.
La macro funziona così:
il testo deve essere incollato solo in A3, se incollato non in A3 appare il msgbox.
Allego l'esmpio.
xam
rollis13
00venerdì 5 febbraio 2016 23:18
Ma per controllare solo A3 ti basta una macro così:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

    If Intersect(Target, Range("A3")) Is Nothing Then
        MsgBox "non hai incollato nella cella esatta"
    End If

End Sub
xam99
00sabato 6 febbraio 2016 08:23
Ciao rollis,
è o.k. anche la tua soluzione ma deve funzionare solo in A4:A20. Ora il msgbox appare in tutte le celle.
Alla tua macro è possibile aggiungere:
se il testo viene incollato non in A3 appare il msgbox e va bene,
ma poi il testo deve sparire.
Un saluto.
Grazie ancora.
xam

Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 15:15.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com