Moderatori: Anthony47, Flash30005
Sub Rimappa()
Dim arrFrom, arrTo, I As Long, myC As Range, J As Long
Dim hvCol As String, dePos As Range, KR As Long, K As Long
'
arrFrom = Array("A:P", "AH:AL") '<<< Aree da copiare
arrTo = Array("A", "Q") '<<< ... e incollare in quest'altra posizione
hvCol = "R:AG" '<<< Colonne da "mettere in verticale"
Set dePos = Sheets("Foglio1").Range("A2") '<<< Foglio e area su cui creare il nuovo elenco
KR = 9 '<<< Riga iniziale di dati
'
Sheets("magazzino").Select
Do
If Application.WorksheetFunction.CountA(Application.Intersect(Range(arrFrom(0)), Rows(KR + K))) = 0 Then Exit Do
For Each myC In Application.Intersect(Range(hvCol), Rows(KR + K))
If myC.Value <> "" Then
dePos.Offset(J, 21) = Cells(4, myC.Column).Value
For I = 0 To UBound(arrFrom)
Application.Intersect(Range(arrFrom(I)), Rows(KR + K)).Copy dePos.Offset(J, Range(arrTo(I) & "1").Column - 1)
Next I
J = J + 1
End If
Next myC
K = K + 1
Loop
MsgBox ("Remapping completato...")
End Sub
Te l'avevo detto che come indovino sono scarsoHai lasciato a me indovinare le informazioni da mappare...
Sub Rimappa2()
Dim arrFrom, arrTo, I As Long, myC As Range, J As Long
Dim hvCol As String, dePos As Range, KR As Long, K As Long
Dim Taglie, tRange As Range
'
arrFrom = Array("A:O", "AH:AL") '<<< Aree da copiare
arrTo = Array("A", "S") '<<< ... e incollare in quest'altra posizione
hvCol = "R:AG" '<<< Colonne da "mettere in verticale"
Set dePos = Sheets("Foglio1").Range("A8") '<<< Foglio e area su cui creare il nuovo elenco
KR = 9 '<<< Riga iniziale di dati
Taglie = Array("B", "C", "5", "3", "Y", "9") '<<< Le possibili taglie
Set tRange = Sheets("magazzino").Range("R3") '<<< L'inizio del tabellone taglie
'
Sheets("magazzino").Select
Do
If Application.WorksheetFunction.CountA(Application.Intersect(Range(arrFrom(0)), Rows(KR + K))) = 0 Then Exit Do
For Each myC In Application.Intersect(Range(hvCol), Rows(KR + K))
If myC.Value <> "" Then
toff = Application.Match(Cells(KR + K, "Q").Value, Taglie, False)
If Not IsError(toff) Then
For I = 0 To UBound(arrFrom)
Application.Intersect(Range(arrFrom(I)), Rows(KR + K)).Copy dePos.Offset(J, Range(arrTo(I) & "1").Column - 1)
Next I
dePos.Offset(J, 15) = tRange.Cells(toff, myC.Column - 17)
dePos.Offset(J, 16) = myC.Value
dePos.Offset(J, 17) = dePos.Offset(J, 14).Value * myC.Value
End If
J = J + 1
End If
Next myC
K = K + 1
Loop
MsgBox ("Remapping completato...")
End Sub
Torna a Applicazioni Office Windows
TextBox e Barra di scorrimento verticale Autore: Carletto Ribolla |
Forum: Applicazioni Office Windows Risposte: 1 |
Come fare per raddrizzare VBE da orizzontale a verticale . Autore: Gianca532011 |
Forum: Applicazioni Office Windows Risposte: 3 |
Mettere in primo piano un file excel rispetto ad un altro Autore: systemcrack |
Forum: Applicazioni Office Windows Risposte: 5 |
Archivio da orizzontale a verticale colorato Autore: ikwae |
Forum: Applicazioni Office Windows Risposte: 6 |
Visitano il forum: Nessuno e 30 ospiti