Visual Basic - Uso de valores de celdas en bucle

Life is soft - evento anual de software empresarial
   
Vista:

Uso de valores de celdas en bucle

Publicado por Francisco (1 intervención) el 27/02/2014 15:57:52
Hola, escribo por un problema que se me ha presentado.
Es la primera vez que utilizo el programa visual basic. Estoy intentando introducir en el código un bucle que me vaya cogiendo datos de una celda, no que me escoja su posición, sino el número que esté en ella escrito. Y mediante un bucle coger el resto de datos en la misma fila.
El uso se basa en realizar un filtrado de datos, diciendo que guarde solo las columnas indicadas en dichas celdas.
Este es la parte del código correspondiente a lo anteriormente explicado.

Espero me puedan ayudar y que lo haya explicado con claridad.
Saludos y gracias
--------------------------
' Select Worksheet "TR-DataList"
Worksheets("TR-DataList").Activate

' delete old data in cells
Range("A1..D65536").Clear

' Show File Information
Range("A1") = "ActiveX Version: " & VTR.GetVersionInfoString ' Version Information
VTT.WriteLine "ActiveX Version: " & VTR.GetVersionInfoString ' Version Information
Range("A3") = "[File Info]"
VTT.WriteLine "[File Info]"
Range("A4") = "File name: " & FileNameR ' File name
VTT.WriteLine "File name: " & FileNameR ' File name
Range("A5") = "File type: " & VTR.FileFormatStr ' Dataformat
VTT.WriteLine "File type: " & VTR.FileFormatStr ' Dataformat
Range("A6") = "Sample rate [Hz]: " & Format(VTR.SampleRate, "#,###,##0") ' Sample Rate in Hz
VTT.WriteLine "Sample rate [Hz]: " & VTR.SampleRate ' Sample Rate in Hz
Range("A7") = "Sets on File: " & VTR.SetsOnFile ' Number of sets available
VTT.WriteLine "Sets on File: " & VTR.SetsOnFile ' Number of sets available
Range("A8") = "Samples / Set: " & VTR.SamplesPerSet ' Samples per set
VTT.WriteLine "Samples / Set: " & VTR.SamplesPerSet ' Samples per set

' Show Export Information
Range("A17") = "[Export Info]"
VTT.WriteLine "[Export Info]"
Range("A18") = "Export File: " & FileNameExport
VTT.WriteLine "Export File: " & FileNameExport

---------- ¡¡ Aquí se encuentra mi problema !!-----------

For SetNo = 1 To 3
' SetNo = Index
SuccessR = VTR.SeekAndRead(SetNo, OffsetSamples, SamplesToRead, Buffer)
If Not SuccessR Then
' File read error
Set VTR = Nothing 'release Object
MsgBox "An error occurred when trying to read " & SamplesToRead & " samples from set " & SetNo & ". Offset samples: " & OffsetSamples
Exit Sub
End If

If SetNo = 1 Then
VTT.WriteLine "PreTrigger Samples: " & VTR.PreTriggerSamples ' Pretrigger samples
VTT.WriteLine
VTT.WriteLine "Scaled Data [mV]"
'Show Set Information
Range("A10") = "[Set Info]"
Range("A11") = "Start-Set: " & SetNo ' Current Set Number
Range("A12") = "Index: " & VTR.trindex ' Current TR-Index
Range("A13") = "Time: " & VTR.TimeString ' Time of current set (Hit)
Range("A14") = "Channel: " & VTR.Channel ' Channel
Range("A15") = "PreTrigger Samples: " & VTR.PreTriggerSamples ' Pretrigger samples


Range("B1") = "SetNo"
Range("C1") = "Sampled data"
Range("C2") = "(last value)"
Range("D1") = "Scaled Data [mV]"
Range("D2") = "(last value)"
End If

Message = "[Set " & SetNo & " of " & VTR.SetsOnFile & "]"
VTT.WriteLine Message
For I = 1 To SamplesToRead
'sampled data
Range("C" & 2 + SetNo) = Buffer(I)
'VTT.Write Buffer(I)
'VTT.Write "; "
'Scaled Data[mV]
Range("D" & 2 + SetNo) = (Buffer(I) + VTR.VScaleOffset) * VTR.VScaleFactor
VTT.WriteLine (Buffer(I) + VTR.VScaleOffset) * VTR.VScaleFactor

If I + (SetNo - 1) * SamplesToRead > SamplesToRead * VTR.SetsOnFile Then
MsgBox "Error: Overload"
Exit Sub
End If
--------------------------
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder