Hola a todos,veamos, como puedo sumar numeros,tomados a leer un archivo de texto,veamos, al leer un archivo de texto obtengo esto:
501||5||||11||20||0||0||0
(Los || son retornos de carros,intros..)
Como puedo quitar los caracteres || del text?
Como podría sumar todo lo que ahi en el text, tomado del archivo?
Espero sus respuestas,saludos.
Simplemente basta con crear una matriz con todos los números. Para ello usamos Split, pasándole como argumento los datos y el separador utilizado (En éste caso, ||)
Luego, usamos un bucle para recorrer todos los números y sumarlos.
Sería algo así, espero que no tenga ningún error.
Private Sub Picture1_Click()
On Error Resume Next
Dim ValorASumar As Integer
Dim Datos As String
Dim Suma As Integer
'Llenamos la variable datos
Datos = "501||5||||11||20||0||0||0"
'Hacemos la matriz
MatrizDatos = Split(Datos, "||")
'Bucle que recorre todos los numeros y los suma
For n = 0 To UBound(MatrizDatos)
Valor = MatrizDatos(n)
Suma = Suma + Valor
Next n
'Presentamos el resultado
MsgBox "La suma es: " & Suma
End Sub
Para terminar, y si por alguna razón los separadores son otros caraceres (por ejemplo intro, como has dicho) puedes sustituirlos utilizando Replace, ya que los retornos de carro, espacios, etc son caracteres normales y corrientes.
Texto = Replace(Text1.Text, Chr(13), "||")
En vez de Chr(13) también puedes usar la constante vbCrLf como es lógico.
Un saludo
¿Sumar o unir?
Como sea, por ejemplo:
Esto une la cadena de numeros:
Dim Cadena as String
Dim Separar() as String
Dim i as Interger
Cadena = "501||5||||11||20||0||0||0"
Sperar = Split(Cadena, "||")
Dim Buffer as String
For i = 0 To UBound(Separar)
'Unirlo
'Buffer = Buffer & Separar(i)
'O bien sumarlo
'Buffer = Buffer + Separar(i)
Next i
PD: Ya lo habia escrito todo _Sergi_, puse mandar y ya habias posteado :), lo posteo igual.