Moderatori: Anthony47, Flash30005
Sub marco71()
RDest = Application.Match(CDbl(Int(Now())), Sheets("Foglio2").Range("A1:A10000"), 0)
Sheets("Foglio1").Range("A1").CurrentRegion.Copy Destination:=Sheets("Foglio2").Cells(RDest, 2)
End Sub
Sub marco72()
RDest = Application.Match(CDbl(DateValue(Trim(Left(Sheets("Foglio1").Range("A1"), 5)) & "/" & Year(Now()))), Sheets("Foglio2").Range("A1:A10000"), 0)
Sheets("Foglio1").Range("A1").CurrentRegion.Copy Destination:=Sheets("Foglio2").Cells(RDest, 2)
End Sub
Sub copiaDati()
Set Ws1 = Worksheets("Foglio1")
Set Ws2 = Worksheets("Foglio2")
Ws2.Range("B2:C400").ClearContents
DataO = Date
UR1 = Ws1.Range("A" & Rows.Count).End(xlUp).Row
UR2 = Ws2.Range("A" & Rows.Count).End(xlUp).Row
For RR1 = 1 To UR1
DataA = DateSerial(Year(Date), Mid(Ws1.Range("A" & RR1).Value, 4, 2), Left(Ws1.Range("A" & RR1).Value, 2))
If DataA >= DataO Then
RigaIni = RR1
GoTo saltaRR1
End If
Next RR1
GoTo esci
saltaRR1:
For RR1 = RigaIni To UR1
DataA = DateSerial(Year(Date), Mid(Ws1.Range("A" & RR1).Value, 4, 2), Left(Ws1.Range("A" & RR1).Value, 2))
For RR2 = 2 To UR2
DataB = Ws2.Range("A" & RR2).Value
If DataA = DataB Then
Ws2.Range("B" & RR2).Value = Ws1.Range("C" & RR1).Value
Ws2.Range("C" & RR2).Value = Ws1.Range("D" & RR1).Value
End If
Next RR2
Next RR1
esci:
End Sub
Marco75CT ha scritto:Poi la macro dovrebbe anche copiare la colonna Q del foglio "Competitors Report",
Sub copiaDati()
Set Ws1 = Worksheets("Competitors Report")
Set Ws2 = Worksheets("Pianificazione")
Set Ws3 = Worksheets("Calcolo Tariffa")
UR2 = Ws2.Range("A" & Rows.Count).End(xlUp).Row
Ws2.Range("C1:D" & UR2).ClearContents
Application.ScreenUpdating = False
Application.Calculation = xlManual
DataO = Date
UR1 = Ws1.Range("N" & Rows.Count).End(xlUp).Row
UR2 = Ws2.Range("A" & Rows.Count).End(xlUp).Row
For RR1 = 3 To UR1
DataA = DateSerial(Year(Ws1.Range("N" & RR1).Value), Month(Ws1.Range("N" & RR1).Value), Day(Ws1.Range("N" & RR1).Value))
If DataA >= DataO Then
RigaIni = RR1
GoTo saltaRR1
End If
Next RR1
GoTo esci
saltaRR1:
For RR1 = RigaIni To UR1
DataA = DateSerial(Year(Ws1.Range("N" & RR1).Value), Month(Ws1.Range("N" & RR1).Value), Day(Ws1.Range("N" & RR1).Value))
For RR2 = 1 To UR2
DataB = DateSerial(Year(Date), Mid(Ws2.Range("A" & RR2).Value, 4, 2), Left(Ws2.Range("A" & RR2).Value, 2))
If DataA = DataB Then
Ws2.Range("C" & RR2).Value = Ws1.Range("P" & RR1).Value
Ws2.Range("D" & RR2).Value = Ws1.Range("Q" & RR1).Value
Exit For
End If
Next RR2
Next RR1
esci:
DataI = DateSerial(Year(Ws1.Range("N" & RigaIni).Value), Month(Ws1.Range("N" & RigaIni).Value), Day(Ws1.Range("N" & RigaIni).Value))
UR3 = Ws2.Range("B" & Rows.Count).End(xlUp).Row
UC3 = Ws3.Cells(4, Columns.Count).End(xlToLeft).Column
For CC3 = 3 To UC3 Step 5
DataC = DateSerial(Year(Ws3.Cells(1, CC3)), Month(Ws3.Cells(1, CC3)), Day(Ws3.Cells(1, CC3)))
If DataC = DataI Then
Col3 = CC3
Exit For
End If
Next CC3
AggD = 0
For Col3S = Col3 To UC3 Step 5
For RR1 = RigaIni To UR1
DataA = Ws1.Range("N" & RR1).Value + AggD
For RR3 = 5 To UR3
DataR = DateSerial(Year(Ws3.Range("B" & RR3).Value), Month(Ws3.Range("B" & RR3).Value), Day(Ws3.Range("B" & RR3).Value))
If DataA = DataR Then
Ws3.Cells(RR3, Col3S).Value = Ws1.Range("Q" & RR1).Value
'Ws3.Cells(RR3, Col3S + 1).Value = Ws1.Range("R" & RR1).Value
Exit For
End If
Next RR3
Next RR1
AggD = AggD + 1
Next Col3S
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
Marco75CT ha scritto:No. La colonna da copiare nel foglio "Calcolo Tariffa", in corrispondenza della colonna e riga contrassegnata dalla data odierna, é solo la Q. ...
Sub copiaDati()
Set Ws1 = Worksheets("Pianificazione")
Set Ws2 = Worksheets("Competitors Report")
Set Ws3 = Worksheets("Calcolo Tariffa")
UR2 = Ws2.Range("N" & Rows.Count).End(xlUp).Row
Ws2.Range("P3:Q" & UR2).ClearContents
Application.ScreenUpdating = False
Application.Calculation = xlManual
DataO = Date
UR1 = Ws1.Range("A" & Rows.Count).End(xlUp).Row
For RR2 = 3 To UR2
DataB = Ws2.Range("N" & RR2).Value
If DataB >= DataO Then
RigaIni = RR2
GoTo saltaRR2
End If
Next RR2
GoTo esci
saltaRR2:
For RR2 = RigaIni To UR2
DataB = Ws2.Range("N" & RR2).Value
For RR1 = 1 To UR1
DataA = DateSerial(Year(Ws2.Range("N" & RR2).Value), Mid(Ws1.Range("A" & RR1).Value, 4, 2), Left(Ws1.Range("A" & RR1).Value, 2))
If DataA = DataB Then
Ws2.Range("P" & RR2).Value = Ws1.Range("C" & RR1).Value
Ws2.Range("Q" & RR2).Value = Ws1.Range("D" & RR1).Value
Exit For
End If
Next RR1
Next RR2
DataI = Ws2.Range("N" & RigaIni).Value
UR3 = Ws3.Range("B" & Rows.Count).End(xlUp).Row
UC3 = Ws3.Cells(4, Columns.Count).End(xlToLeft).Column
For CC3 = 3 To UC3 Step 5
DataC = DateSerial(Year(Ws3.Cells(1, CC3)), Month(Ws3.Cells(1, CC3)), Day(Ws3.Cells(1, CC3)))
If DataC = DataI Then
Col3 = CC3
Exit For
End If
Next CC3
AggD = 0
For RR2 = RigaIni To UR2
DataB = Ws2.Range("N" & RR2).Value + AggD
For RR3 = 5 To UR3
DataR = Ws3.Range("B" & RR3).Value
If DataB = DataR Then
Ws3.Cells(RR3, Col3).Value = Ws2.Range("Q" & RR2).Value
' Ws3.Cells(RR3, Col3 + 3).Value = Ws2.Range("R" & RR2).Value '<<<<< togliere commento
'Ws3.Cells(RR3, Col3 + 4).Value = Ws2.Range("S" & RR2).Value '<<<<< togliere commento
Exit For
End If
Next RR3
Next RR2
esci:
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
4. nel foglio Calcolo Tariffa, i dati che compaiono nelle colonne "Δ Occ. 1 giorno" e "Tariffa Suggerita" immediatamente a destra della colonna "Occupazione" che siamo andati a modificare, non vengono copiati nelle corrispondenti colonne del foglio Competitors Report
' Ws3.Cells(RR3, Col3 + 3).Value = Ws2.Range("R" & RR2).Value '<<<<< togliere commento
'Ws3.Cells(RR3, Col3 + 4).Value = Ws2.Range("S" & RR2).Value '<<<<< togliere commento
Ws3.Cells(RR3, Col3 + 3).Value = Ws2.Range("R" & RR2).Value '<<<<< togliere commento
Ws3.Cells(RR3, Col3 + 4).Value = Ws2.Range("S" & RR2).Value '<<<<< togliere commento
Torna a Applicazioni Office Windows
Aggiornare cella con somma quando aggiungo nuova colonna Autore: marcopont |
Forum: Applicazioni Office Windows Risposte: 1 |
File batch per copiare file selezionato da menu contestuale Autore: valle1975 |
Forum: Programmazione Risposte: 3 |
[EXCEL] controllo corrispondenza tra valori con un vincolo Autore: sbs |
Forum: Applicazioni Office Windows Risposte: 9 |
Visitano il forum: Nessuno e 25 ospiti