Condividi tramite

taglia e incolla intervallo di celle di una riga

Anonimo
2016-01-12T21:22:15+00:00

Buona sera a tutti, avrei bisogno di fare un taglia e incolla di un intervallo di celle su una riga, diciamo da A a F quando la cella nella colonna G viene inserita una lettera R. ho creato una macro che copia e incolla nella prima riga vuota nel foglio 2, ma il problema è che funziona per una unica riga, mentre io avrei bisogno che il sistema leggesse le coordinate della cella G riempita e mi spostasse le celle da A a F corrispondenti. es se inserisco R in G6 dovrei spostare le celle da A6 a F6 in un secondo Foglio di lavoro e svuotare le celle della riga 6. Il codice scritto è questo!   Grazie a tutti ...

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address <> "$G$4" Then Exit Sub  

If Target.Value <> "R" Then Exit Sub

Application.EnableEvents = False

Call Macro1

Application.EnableEvents = True

End Sub

Sub Macro1()

'

' Macro1 Macro

'

'

Sheets("Dintorni").Range("A4:F4").Copy

Worksheets("Ritirati").Select

Range("A1").Select

Selection.End(xlDown).Select

ActiveCell.Offset(1, 0).Select

With ActiveCell

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone

End With

Worksheets("Dintorni").Select

 Range("A4:G4").Select

    Selection.ClearContents

    Range("A4").Select

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
2016-01-13T08:20:20+00:00

Se ho capito, nel modulo di codice del foglio dove inserisci la tua R in colonna G:

Private Sub Worksheet_Change(ByVal Target As Range)

    With Target

        If .Column = 7 Then

            If .Value = "R" Then

                Call m(.Row)

            End If

        End If

    End With

End Sub

Private Sub m(ByVal lRow As Long)

    Dim sh As Worksheet

    Dim lRiga As Long

    Set sh = ThisWorkbook.Worksheets("Dintorni")

    With sh

        lRiga = .Range("A" & .Rows.Count).End(xlUp).Row + 1

        Me.Range(Me.Cells(lRow, 1), Me.Cells(lRow, 6)).Copy

        .Range("A" & lRiga).PasteSpecial

        Me.Range(Me.Cells(lRow, 1), Me.Cells(lRow, 6)).ClearContents

        Application.CutCopyMode = False

    End With

    Set sh = Nothing

End Sub

La risposta è stata utile?

0 commenti Nessun commento

1 risposta aggiuntiva

Ordina per: Più utili
  1. Eliminata

    Questa risposta è stata eliminata a causa di una violazione del codice di comportamento. La risposta è stata segnalata manualmente o identificata tramite il rilevamento automatizzato prima dell'esecuzione dell'azione. Per ulteriori informazioni, fai riferimento al codice di comportamento.


    I commenti sono stati disattivati. Ulteriori informazioni