È possibile eseguire il ciclo di celle unite in vba.In loop attraverso celle unite in VBA
- ho 6 celle unite nella gamma
B4:B40
- ho bisogno i valori in questi 6 celle solo 6 iterazioni.
È possibile eseguire il ciclo di celle unite in vba.In loop attraverso celle unite in VBA
B4:B40
Ecco un primo tentativo per risolvere il problema:
Option Explicit
Sub loopOverCells()
Dim rCell As Range
Dim i As Integer
Set rCell = [B1]
For i = 1 To 6
Debug.Print rCell.Address
Set rCell = rCell.Offset(1, 0) ' Jump 1 row down to the next cell
Next i
End Sub
+1 per la soluzione di lavoro – brettdj
Solo un po 'più stretta, un'idea simile:
Option Explicit
Sub ListValues()
Dim i As Long
For i = 4 To 40 Step 6
Debug.Print Range("B" & i).Value
Next i
End Sub
Le risposte di cui sopra cercare di averti ordinato.
Se non si conoscono le celle unite, è possibile utilizzare la seguente routine per rilevarle rapidamente.
Quando ho costruito Mappit! ho capito che quando ho sviluppato rapporti cella unita che si è fusa cellule facevano parte del xlBlanks
Quindi è possibile utilizzare il codice per rilevare celle unite immediatamente, piuttosto che ciclo attraverso ogni prova nella cella per la proprietà MergedCells
essere vero
Sub DetectMerged()
Dim rng1 As Range
Dim rng2 As Range
On Error Resume Next
Set rng1 = Intersect(Cells.SpecialCells(xlFormulas), Cells.SpecialCells(xlBlanks))
Set rng2 = Intersect(Cells.SpecialCells(xlConstants), Cells.SpecialCells(xlBlanks))
On Error GoTo 0
If Not rng1 Is Nothing Then MsgBox "Merged formulae cells in " & rng1.Address(0, 0)
If Not rng2 Is Nothing Then MsgBox "Merged constant cells in " & rng2.Address(0, 0)
End Sub
Che trucco! :) desserves almeno un +1 – JMax
sai quante celle sono unite? perché vuoi solo 6 iterazioni? potresti spiegarci un po 'di più cosa vuoi fare **? – JMax