|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Nov 2001
Città: Roma
Messaggi: 493
|
[VB-Excel]
Salve a tutti, sto lavorando un paio di macro per automatizzare l'elaborazione di report per lavoro.
Fondamentalmente nel report è presente una colonna contentente un elenco ordinato di codici contabili (con ripetizioni), e vorrei lavorare proprio su questa colonna per far si che dopo l'elaborazione il file risulti come nel seguente esempio: - PRIMA: 1000 1000 1020 1025 1025 1025 - DOPO: 1000 1000 [riga vuota] 1020 [riga vuota] 1025 1025 1025 Il codice l'ho già scritto, ed è qualcosa del tipo. Codice:
iRiga = 1
iNumRigheVuote = 0
iColCC = 3 'indice della colonna contenente il codice contabile
Rows(iRiga).Select
sCodiceContabile = Cells(iRiga, iColCC).Value 'Upper case della ragione sociale (per evitare problemi nei confronti tra stringhe)
While iNumRigheVuote < 4
While Cells(ActiveCell.Row, iColCC) = sCodiceContabile
iNumRigheVuote = 0
iRiga = iRiga + 1
'Cells(iRiga, iColCC).Select
Rows(iRiga).Select
Wend
If Cells(iRiga, iColCC).Value <> "" Then
sCodiceContabile= Cells(iRiga, iColCC).Value
End If
Selection.Insert Shift:=xlDown
iRiga = iRiga + 1
Rows(iRiga).Select
iNumRigheVuote = iNumRigheVuote + 1
Wend
'Fine While iNumRigheVuote < 4
Qualche suggerimento in merito?
__________________
Listen the noise of deep sea --Powered by Debian Sid/unstable on 2.6.17.11-- |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
nn si capisce molto bene la storia dei confronti.
puoi allegare il foglio?
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
Codice:
Dim i As Long
i = 1
Do
If Range("A" & i).Text = "" Then Exit Do
If Range("A" & i).Text = Range("A" & (i + 1)).Text Then
i = i + 1
Else
Rows((i + 1) & ":" & (i + 1)).Insert Shift:=xlDown
i = i + 2
End If
Loop
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:21.




















