Ciao Carlo,
dovrei inserire un testo (o una parola) all'inizio delle celle di una colonna ove già c'è un testo.
ALL'INIZIO TESTO:
Esempio: nel range B2:B27 della colonna B è inserito il testo "290 solo musica".
Vorrei inserire 'pag' prima del testo in modo che venga "pag 290 solo musica".
ALLA FINE DEL TESTO
Esempio: nello stesso range (B2:B27) ove adesso c'é il testo 'pag 290 solo musica' vorrei inserire "nel libro 01" alla fine del testo in modo che venga "pag 290 solo musica nel libro 01".
So che bisogna fare un ciclo For...Next.
Io sono solo in grado di scrivere testo nelle celle vuote:
Esempio:
Sub InserisciPrimaDelTesto()
For i = 2 To 27
If ActiveSheet.Cells(i, 4).Value = "" Then
ActiveSheet.Cells(i, 4).Value = "Roma"
End If
Next i
End Sub
Sub InserisciDopoIlTesto()
For i = 2 To 27
If ActiveSheet.Cells(i, 4).Value = "" Then
ActiveSheet.Cells(i, 4).Value = "Roma"
End If
Next i
End Sub
Come posso modificare i due script FOR...NEXT in modo da inserire testo, prima e dopo il testo già scritto?
Prova qualcosa del genere:
'=========>>
Option Explicit
'--------->>
Public Sub Tester()
Dim WB As Workbook
Dim SH As Worksheet
Dim Rng As Range, rCell As Range
Dim arrIn As Variant
Dim sStr As String
Dim i As Long
Const sFoglio As String = "Foglio1" '<<=== Modifica
Const sIntervallo As String = "B2:B27" '<<=== Modifica
Const aStr As String = "pag" '<<=== Modifica
Const bStr As String = "nel libro 01" '<<=== Modifica
Set WB = ThisWorkbook
Set SH = WB.Sheets(sFoglio)
Set Rng = SH.Range(sIntervallo)
arrIn = Rng.Value
For i = LBound(arrIn) To UBound(arrIn)
sStr = arrIn(i, 1)
sStr = aStr & Space(1) & sStr & Space(1) & bStr
arrIn(i, 1) = sStr
Next i
Rng.Value = arrIn
End Sub
'<<=========
===
Regards,
Norman
