Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - fernandoasr.8

Páginas: [1]
1
Buen día, sigo un poco con el tema de la librería CImg.h, el problema que ahora se me presenta es que teniendo dos puntos INICIO y FINAL en la imagen (cabe señalar que se trata una imagen en blanco con lineas negras), se unan con una linea recta, y si encuentra un obstáculo en su camino, lo rodeé y volver a seguir con su camino a su punto final.
Aquí una representación de lo que quiero conseguir.



He tratado y no he podido hacer que el punto rodeé el obstáculo para seguir con su destino.
Adjunto el código que llevo hasta el momento.

Código: [Seleccionar]
#include "CImg.h"
#include <iostream>
using namespace std;
using namespace cimg_library;

 CImg<unsigned char> imagen;
unsigned char rojo[3] = {255, 0, 0};
unsigned char amarillo[3] = {233, 251,11};
unsigned char azul[3] = {0, 5, 198};
unsigned char black[3] = {0, 0, 0};
unsigned char verde[3] = {0, 255, 0};
const float opacidad = 1;
int rango;
float equis1,ye1,equis2,ye2;
int anteriorX,anteriorY;

int opcion;

int main()
{
    int c;
    char o;
cout<<"Obstaculos \n \n";
do
    {
        system("cls");
        cout<<"Ingresar el nombre del mapa: \n";
        string image1;
        cin>>image1;
        cimg::exception_mode(0);
        try
        {
            c=0;
            imagen.load(image1.c_str());
        }
        catch(CImgException &e)
        {
            c=1;
            cout<<"\n Imagen no encontrada"<<endl;
            cout<<"\n Desea ingresar otra imagen? S/N : ";
            char res;
            cin>>res;
            if(res=='N')
            {
                exit(0);
            }
        }
    }while(c==1);

    int width=imagen.width();
    int height=imagen.height();
    int x,y;
    int a1,a2,a3;

            CImgDisplay disp;
            cout<<"Coordenadas Iniciales: "<<endl;
            cout<<"Ingresa la primer coordenada x en los rangos de: 0 a "<< width << endl;
            cin>>equis1;
            cout<<"Ingresa la primer coordenada y en los rangos de: 0 a " << height<<endl;
            cin>>ye1;
            cout<<"Coordenadas Finales: "<<endl;
            cout<<"Ingresa la segunda coordenada x en los rangos de: 0 a "<< width << endl;
            cin>>equis2;
            cout<<"Ingresa la segunda coordenada y en los rangos de: 0 a " << height<<endl;
            cin>>ye2;
            cout<<"RANGO DEL SENSOR "<<endl;
            cout<<"Ingresa el rango de sensor de 5 a 20: " << endl;
            cin>>rango;

            imagen.draw_circle(equis1,ye1,4,azul,1);
            imagen.draw_circle(equis2,ye2,4,amarillo,1);
            if(equis1<equis2)
            {
                for(x = equis1; x<=equis2; x+=rango)
                {
                    y=((ye2-ye1))/(equis2-equis1) * (x-equis1) + ye1;
                    disp.display(imagen);
                    imagen.draw_circle(x,y,2,rojo,1,2);
                    a1=imagen(x,y,0,0);
                    a2=imagen(x,y,0,1);
                    a3=imagen(x,y,0,2);
                    int circulo[3]={a1,a2,a3};
                    if(circulo[0]==0 && circulo[1]==0 || circulo[2]==0)
                    {
                        cout<<"OBSTACULO DETECTADO 1 "<<endl;
                        break;
                    }
                }
            }
            else if(equis1>equis2)
            {
                for(x=equis1;x>=equis2;x-=rango)
                {
                     y=((ye2-ye1))/(equis2-equis1) * (x-equis1) + ye1;
                    imagen.draw_circle(x,y,2,rojo,1,2);
                    disp.display(imagen);
                    a1=imagen(x,y,0,0);
                    a2=imagen(x,y,0,1);
                    a3=imagen(x,y,0,2);
                    int circulo[3]={a1,a2,a3};
                    if(circulo[0]==0 && circulo[1]==0 || circulo[2]==0)
                    {
                        cout<<"OBSTACULO DETECTADO 2 "<<endl;
                        break;
                    }
                }
            }
            else{
                if(ye1<ye2)
                {
                    y=((ye2-ye1))/(equis2-equis1) * (x-equis1) + ye1;
                    x=equis1;
                    for(y=ye1; y<=ye2; y+=rango)
                    {
                     imagen.draw_circle(x,y,2,rojo,1,2);
                    disp.display(imagen);
                    a1=imagen(x,y,0,0);
                    a2=imagen(x,y,0,1);
                    a3=imagen(x,y,0,2);
                    int circulo[3]={a1,a2,a3};
                    if(circulo[0]==0 && circulo[1]==0 || circulo[2]==0)
                    {
                        cout<<"OBSTACULO DETECTADO 3 "<<endl;
                        break;
                    }
                    }
                }
                else
                {
                     y=((ye2-ye1))/(equis2-equis1) * (x-equis1) + ye1;
                    x=equis1;
                    for(y=ye1; y>=ye2; y-=rango)
                    imagen.draw_circle(x,y,2,rojo,1,2);
                    disp.display(imagen);
                    a1=imagen(x,y,0,0);
                    a2=imagen(x,y,0,1);
                    a3=imagen(x,y,0,2);
                    int circulo[3]={a1,a2,a3};
                    if(circulo[0]==0 && circulo[1]==0 || circulo[2]==0)
                    {
                        cout<<"OBSTACULO DETECTADO 4 "<<endl;
                    }
                }
            }
            while (!disp.is_closed())
            {
                disp.wait();
            }
    return 0;
}



Otro aspecto que no pude conseguir, fue dibujar la recta con ayuda de ángulos. Espero pueda recibir aunque sea una pequeña ayuda con este programa.
De antemano muchas gracias.

Adjunto también la imagen de prueba de una imagen blanca con un obstáculo.

2
Buen día, he estado investigando sobre la relación entre clases, donde se encuentran asociación, herencia, agregación, entre otras. El problema que tengo, es que no se explica muy bien cómo o de qué manera se codifica el de asociación.
Mi pregunta es, ¿de qué manera se pueden asociar dos clases o dos objetos, uno de cada clase?
Ejemplo.
Tengo dos clases, Libro y Persona.
Código: [Seleccionar]
class Libro{
public:
      string codigo;
}

class Persona{
public:
      string libro;
}
Ese código es solamente para que quede un poco más claro.
¿De qué manera puedo asociar las codigo con libro, si cada una de ellas esta en distintas clases?

Espero me haya dado a entender. De antemano, gracias.

3
He conseguido el resultado que deseaba, aquí el código que me funcionó. Gracias por la respuesta.

Código: [Seleccionar]
    int XX[3][3];
    int YY[3][3];

    XX[0][0] = -1; XX[0][1] = 0; XX[0][2] = 1;
    XX[1][0] = -2; XX[1][1] = 0; XX[1][2] = 2;
    XX[2][0] = -1; XX[2][1] = 0; XX[2][2] = 1;

    YY[0][0] =  1; YY[0][1] =  2; YY[0][2] =  1;
    YY[1][0] =  0; YY[1][1] =  0; YY[1][2] =  0;
    YY[2][0] = -1; YY[2][1] = -2; YY[2][2] = -1;


    CImg<unsigned char> px;
    px.assign(width, height, depth, 1);

    for(y = 0; y < height; y++)
    {
        for(x = 0; x < width; x++)
        {
            SX = 0;
            SY = 0;

            if(y == 0 || y == height -1 || x == 0 || x == width -1)
            {
                M = 0;
            }
            else
            {
                for(int i = 0; i < 3; i++)
                {
                    for(int j = 0; j < 3; j++)
                    {
                        SX = SX + XX[j][i] * (int)gris(x+j,y+i);
                    }
                }

                for(int i = 0; i < 3; i++)
                {
                    for(int j = 0; j < 3; j++)
                    {
                        SY = SY + YY[j][i] * (int)gris(x+j,y+i);
                    }
                }
                M = sqrt(pow((double)SX,2) + pow((double)SY,2));
            }
            if(M > 255) M = 255;
            if(M < 0) M = 0;
            px(y,x) = M;
        }
    }

    imfinalsob.assign(width, height, depth,1);
    for(y = 0; y < gris.height(); y++)
    {
        for(x = 0; x<gris.width(); x++)
        {
            imfinalsob(x,y) = px(y,x);
        }
    }

4
Buen día, he estado usando un poco la librería CImg en C++. El problema que tengo en estos momentos, es como aplicar un filtro Sobel a una imagen.
Cargo la imagen en escala de grises y aplico el código siguiente.

Código: [Seleccionar]

    int GX[3][3];
    int GY[3][3];

    GX[0][0] = -1; GX[0][1] = 0; GX[0][2] = 1;
    GX[1][0] = -2; GX[1][1] = 0; GX[1][2] = 2;
    GX[2][0] = -1; GX[2][1] = 0; GX[2][2] = 1;

    GY[0][0] =  1; GY[0][1] =  2; GY[0][2] =  1;
    GY[1][0] =  0; GY[1][1] =  0; GY[1][2] =  0;
    GY[2][0] = -1; GY[2][1] = -2; GY[2][2] = -1;


    unsigned char X, Y;
    CImg<unsigned char> XX(width,height,depth,1);
    CImg<unsigned char> YY(width,height,depth,1);
    imfinalsob.assign(width, height, depth,1);
    for(int i=1;i<width-1;i++)
    {
        for(int j=1;j<height-1;j++)
        {
            X = (sobel(i-1, j-1)*GX[0][0]) + (sobel(i-1, j)*GX[0][1]) + (sobel(i-1, j+1)*GX[0][2]) +
                (sobel(i,   j-1)*GX[1][0]) + (sobel(i,   j)*GX[1][1]) + (sobel(i,   j+1)*GX[1][2]) +
                (sobel(i+1, j-1)*GX[2][0]) + (sobel(i+1, j)*GX[2][1]) + (sobel(i+1, j+1)*GX[2][2]);

            Y = (sobel(i-1, j-1)*GY[0][0]) + (sobel(i-1, j)*GY[0][1]) + (sobel(i-1, j+1)*GY[0][2]) +
                (sobel(i,   j-1)*GY[1][0]) + (sobel(i,   j)*GY[1][1]) + (sobel(i,   j+1)*GY[1][2]) +
                (sobel(i+1, j-1)*GY[2][0]) + (sobel(i+1, j)*GY[2][1]) + (sobel(i+1, j+1)*GY[2][2]);

            XX(i,j)=X/4;
            YY(i,j)=Y/4;

            imfinalsob(i,j)= XX(i,j)+YY(i,j);

        }
    }
    CImgDisplay img_d(imfinalsob, "Sobel");
    img_d.wait(4000).close();


El resultado final es una imagen que en vez de un filtro Sobel, parece un tipo de piedra. Espero alguien pueda ayudarme o indicarme en que parte del algoritmo tengo el error.

Muchas gracias de antemano.

5
Lo he descargado y he seguido los pasos al pie de la letra. Al querer compilar, me abre una nueva pestaña con nombre CImg.h y me sale un error ahí, por lo que no me deja compilar.

¿Hay algo que pueda hacer para solucionarlo?
Gracias de antemano.

6
Buen día, ¿alguien podría orientarme sobre cómo instalar la librería CImg en CodeBlocks?
Estoy comenzando a usar CodeBlocks y necesito usar esa librería con C++, he buscado pero no me han quedado las cosas claras.

De antemano muchas gracias por la orientación.

7
Claro, me funcionó el siguiente código.

Código: [Seleccionar]
Option Explicit
Dim xlApp As Excel.Application
Dim wb As Workbook
Dim ws As Worksheet
Dim encontrado As Boolean
Dim contador As Integer
Dim resultadosHoja(10000) As String
Dim resultadosValue(10000, 10) As String
Dim total As Integer
Dim rngfnd As Range
Dim primerres As String
Dim fila(10000) As String

Private Sub Buscarr_Click()
'BOTON Buscar'
Set xlApp = New Excel.Application
Set wb = xlApp.Workbooks.Open(PRINCIPAL.CommonDialog1.FileName)
If Text1.Text = "" Then
MsgBox "Ingrese un valor a buscar"
Else
contador = 1
total = 0
Dim txtSearch As String
encontrado = False
txtSearch = Text1
For Each ws In wb.Worksheets
On Error Resume Next
Set rngfnd = ws.UsedRange.Find(What:=txtSearch, After:=ws.UsedRange.Cells(ws.UsedRange.Cells.Count), LookIn:= _
        xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
        On Error Resume Next
        primerres = rngfnd.Address
        If primerres <> "" Then
        Do
            If Not rngfnd Is Nothing Then
                encontrado = True
                resultadosHoja(contador) = ws.Name
                resultadosValue(contador, 1) = rngfnd.Worksheet.Cells(rngfnd.Row, 1).Value
                resultadosValue(contador, 2) = rngfnd.Worksheet.Cells(rngfnd.Row, 2).Value
                resultadosValue(contador, 3) = rngfnd.Worksheet.Cells(rngfnd.Row, 3).Value
                resultadosValue(contador, 4) = rngfnd.Worksheet.Cells(rngfnd.Row, 4).Value
                resultadosValue(contador, 5) = rngfnd.Worksheet.Cells(rngfnd.Row, 5).Value
                resultadosValue(contador, 6) = rngfnd.Worksheet.Cells(rngfnd.Row, 6).Value
                resultadosValue(contador, 7) = rngfnd.Worksheet.Cells(rngfnd.Row, 7).Value
                resultadosValue(contador, 8) = rngfnd.Worksheet.Cells(rngfnd.Row, 8).Value
                resultadosValue(contador, 9) = rngfnd.Worksheet.Cells(rngfnd.Row, 9).Value
                resultadosValue(contador, 10) = rngfnd.Worksheet.Cells(rngfnd.Row, 10).Value
                fila(contador) = rngfnd.Row
                contador = contador + 1
                Set rngfnd = ws.UsedRange.FindNext(After:=rngfnd)
            End If
        Loop While rngfnd.Address <> primerres
        End If
Next ws
total = contador - 1
If encontrado = False Then
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Text7.Text = ""
Text8.Text = ""
Text9.Text = ""
Text10.Text = ""
Text11.Text = ""
Text12.Text = ""
rescam.Text = ""
resfij.Text = ""
Siguiente.Enabled = False
Editar.Enabled = False
Anterior.Enabled = False
Label15.Visible = False
Imprimirr.Enabled = False
Guardar.Enabled = False
MsgBox "Texto no encontrado en el archivo Excel"
Else
contador = 1
Text2.Text = resultadosHoja(contador)
Text3.Text = resultadosValue(contador, 1)
Text4.Text = resultadosValue(contador, 2)
Text5.Text = resultadosValue(contador, 3)
Text6.Text = resultadosValue(contador, 4)
Text7.Text = resultadosValue(contador, 5)
Text8.Text = resultadosValue(contador, 6)
Text9.Text = resultadosValue(contador, 7)
Text10.Text = resultadosValue(contador, 8)
Text11.Text = resultadosValue(contador, 9)
Text12.Text = resultadosValue(contador, 10)
resfij = total
rescam = contador
Label15.Visible = True
Siguiente.Enabled = True
Editar.Enabled = True
Anterior.Enabled = True
Imprimirr.Enabled = True
End If
End If
xlApp.Workbooks.Close
xlApp.Quit
Application.Quit
xlApp.Parent.Quit
End Sub

Private Sub Siguiente_Click()
'BOTON Siguiente'
contador = contador + 1
If contador > total Then
    contador = 1
End If
If contador <= total Then
Text2.Text = resultadosHoja(contador)
Text3.Text = resultadosValue(contador, 1)
Text4.Text = resultadosValue(contador, 2)
Text5.Text = resultadosValue(contador, 3)
Text6.Text = resultadosValue(contador, 4)
Text7.Text = resultadosValue(contador, 5)
Text8.Text = resultadosValue(contador, 6)
Text9.Text = resultadosValue(contador, 7)
Text10.Text = resultadosValue(contador, 8)
Text11.Text = resultadosValue(contador, 9)
Text12.Text = resultadosValue(contador, 10)
End If
rescam = contador
resfij = total
End Sub

Private Sub Anterior_Click()
'BOTON Anterior'
contador = contador - 1
If contador < 1 Then
    contador = total
End If
If contador >= 1 Then
Text2.Text = resultadosHoja(contador)
Text3.Text = resultadosValue(contador, 1)
Text4.Text = resultadosValue(contador, 2)
Text5.Text = resultadosValue(contador, 3)
Text6.Text = resultadosValue(contador, 4)
Text7.Text = resultadosValue(contador, 5)
Text8.Text = resultadosValue(contador, 6)
Text9.Text = resultadosValue(contador, 7)
Text10.Text = resultadosValue(contador, 8)
Text11.Text = resultadosValue(contador, 9)
Text12.Text = resultadosValue(contador, 10)
End If
rescam = contador
resfij = total
End Sub

Lo puse con las modificaciones que necesitaba según mi formulario, pero en sí ahí esta todo el código. Guarde los resultados en una matriz y me fue más fácil poder mostrarlos y cambiar de uno a otro.
De nuevo, muchas gracias por su ayuda.

8
Muchas gracias. Perdón por la tardanza en contestar de nuevo. El programa ya funcionó perfectamente y como yo quería. Ahora solamente me falta hacerlo funcionar en Windows 7, ya que el programa lo hice en XP. Igual muchas gracias por las respuestas, me fueron de mucha ayuda.

9
Bueno, el siguiente código ya es con más modificaciones como me recomendaron. El problema que hay ahora es que solo encuentra el primer resultado de cada hoja. ¿Tendría que poner otro for para que me recorra los resultados de cada hoja?
Gracias.

Código: [Seleccionar]
Dim xlApp As Excel.Application
Dim wb As Workbook
Dim ws As Worksheet
Dim encontrado As Boolean
Dim contador As Integer
Dim resultadosHoja(100) As String
Dim resultadosValue(100, 50) As String
Dim total As Integer
Dim rngfnd As Range

Private Sub Form_Load()
Set xlApp = New Excel.Application
Set wb = xlApp.Workbooks.Open("E:\datos.xlsx")
End Sub

Private Sub Buscar_Click()
'BOTON Buscar'
If Text1.Text = "" Then
MsgBox "Ingrese un valor a buscar"
Else
contador = 1
total = 0
Dim txtSearch As String
encontrado = False
txtSearch = Text1
For Each ws In ActiveWorkbook.Worksheets
Set rngfnd = ws.UsedRange.Find(What:=txtSearch, After:=ws.UsedRange.Cells(ws.UsedRange.Cells.Count), LookIn:= _
        xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
       If Not rngfnd Is Nothing Then
        encontrado = True
resultadosHoja(contador) = ws.Name
resultadosValue(contador, 1) = rngfnd.Worksheet.Cells(rngfnd.Row, 1).Value
resultadosValue(contador, 2) = rngfnd.Worksheet.Cells(rngfnd.Row, 2).Value
resultadosValue(contador, 3) = rngfnd.Worksheet.Cells(rngfnd.Row, 3).Value
contador = contador + 1
End If
Next ws
total = contador - 1
If encontrado = False Then
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Text7.Text = ""
Siguiente.Enabled = False
Anterior.Enabled = False
MsgBox "Texto no encontrado en el archivo Excel"
Else
contador = 1
Text2.Text = resultadosHoja(contador)
Text3.Text = resultadosValue(contador, 1)
Text4.Text = resultadosValue(contador, 2)
Text5.Text = resultadosValue(contador, 3)
Text7 = total
Text6 = contador
Siguiente.Enabled = True
Anterior.Enabled = True
End If
End If
End Sub

Private Sub Siguiente_Click()
'BOTON Siguiente'
contador = contador + 1
If contador > total Then
    contador = 1
End If
If contador <= total Then
Text2.Text = resultadosHoja(contador)
Text3.Text = resultadosValue(contador, 1)
Text4.Text = resultadosValue(contador, 2)
Text5.Text = resultadosValue(contador, 3)
End If
Text6 = contador
Text7 = total
End Sub

Private Sub Anterior_Click()
'BOTON Anterior'
contador = contador - 1
If contador < 1 Then
    contador = total
End If
If contador >= 1 Then
Text2.Text = resultadosHoja(contador)
Text3.Text = resultadosValue(contador, 1)
Text4.Text = resultadosValue(contador, 2)
Text5.Text = resultadosValue(contador, 3)
End If
Text6 = contador
Text7 = total
End Sub

Private Sub Salir_Click()
'BOTON Salir'
xlApp.Workbooks.Close
xlApp.Quit

10
Modifique el código que me brindaron, y funciona muy bien, el único problema que tengo ahora es cambiar el resultado siguiente y el anterior.
Adjunto el código para ver si podemos buscar el error que estoy cometiendo. Gracias.
Código: [Seleccionar]
Private Sub Form_Load()
Set xlApp = New Excel.Application
Set wb = xlApp.Workbooks.Open("C:\Documents and Settings\Gugonzalez\Mis documentos\dssdsdsdsd\datos.xlsx")
End Sub

Private Sub Buscar_Click()
'BOTON Buscar'
Dim rngfnd As Range
Dim txtSearch As String
encontrado = False
txtSearch = Text1
For Each ws In ActiveWorkbook.Worksheets
Set rngfnd = ws.UsedRange.Find(What:=txtSearch, After:=ws.UsedRange.Cells(ws.UsedRange.Cells.Count), LookIn:= _
        xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
        xlNext, MatchCase:=False, SearchFormat:=False)
        If Not rngfnd Is Nothing Then
            encontrado = True
            Text2.Text = rngfnd.Worksheet.Name
            Text3.Text = rngfnd.Worksheet.Cells(rngfnd.Row, 1).Value
            Text4.Text = rngfnd.Worksheet.Cells(rngfnd.Row, 2).Value
            Text5.Text = rngfnd.Worksheet.Cells(rngfnd.Row, 3).Value
        End If
Next ws
If encontrado = False Then
    Text2.Text = ""
    Text3.Text = ""
    Text4.Text = ""
    Text5.Text = ""
    MsgBox "Texto no encontrado en el archivo Excel"
End If
End Sub

Private Sub Siguiente_Click()
'BOTON Siguiente'
         On Local Error Resume Next
         For Each ws In ActiveWorkbook.Worksheets
                Set rngfnd = ws.UsedRange.FindNext(After:=ActiveCell)
                Text2.Text = rngfnd.Worksheet.Name
                Text3.Text = rngfnd.Worksheet.Cells(rngfnd.Row, 1).Value
                Text4.Text = rngfnd.Worksheet.Cells(rngfnd.Row, 2).Value
                Text5.Text = rngfnd.Worksheet.Cells(rngfnd.Row, 3).Value
        Next ws
End Sub

Private Sub Anterior_Click()
'BOTON Anterior'
         On Local Error Resume Next
         For Each ws In ActiveWorkbook.Worksheets
                Set rngfnd = ws.UsedRange.FindPrevious(After:=ActiveCell)
                Text2.Text = rngfnd.Worksheet.Name
                Text3.Text = rngfnd.Worksheet.Cells(rngfnd.Row, 1).Value
                Text4.Text = rngfnd.Worksheet.Cells(rngfnd.Row, 2).Value
                Text5.Text = rngfnd.Worksheet.Cells(rngfnd.Row, 3).Value
         Next ws
End Sub

Private Sub Salir_Click()
'BOTON Salir'
xlApp.Parent.Quit
End
End Sub


11
Muchas gracias, lo pruebo y comento el resultado que obtuve. Gracias por la ayuda.

12
Todo está perfecto. El único problema que tengo es que no debo seleccionar la hoja a buscar. Tiene que buscar en todo el documento y decirme en que hoja está. Sin tener que decirle en que hoja buscar.

13
Es un fichero único no hay necesidad de cambiarlo. Lo tengo que realizar en Visual Basic 6, para crear el ejecutable y que no haya necesidad de abrir esa hoja de Excel después.

Digamos que tengo un formulario con cinco cuadros de texto. En uno ingresaré el dato que quiero buscar en Excel. Al encontrar un dato en la hoja de Excel, que me muestre en el cuadro de texto 2 la hoja en donde encontró el dato. En los otros cuadros de texto el valor de las celdas de la fila de la celda donde encontró el dato.
tengo información solo en tres columnas, y el valor que me encontró está en la celda A3, que me muestre en el cuadro de texto 3 el valor de A1, en el cuadro de texto 4 el valor de A2 y finalmente en el cuadro de texto 5 el valor de A3.
Código: [Seleccionar]

Text2.Text = .ActiveSheet.Name
Text3.Text = .Cells(.ActiveCell.Row, 1).Value
Text4.Text = .Cells(.ActiveCell.Row, 2).Value
Text5.Text = .Cells(.ActiveCell.Row, 3).Value


Al igual implementar dos botones para mostrar el resultado siguiente y el resultado anterior y que al presionarlos el valor de los cuadros de texto cambien según sea el resultado siguiente o el anterior.
Espero haber sido más claro esta vez.
Gracias.

14
Hola buen día.
Soy nuevo aquí en el foro, así que no estoy muy seguro de la mecánica en que se maneja, espero no fallar en algo.
Bueno mi asunto es, quiero hacer un buscador en visual basic 6, este buscador tiene que buscar un dato en una hoja de excel, decirme en que hoja y celda está y poder cambiar al siguiente resultado.
Al encontrar un resultado que en unos TextBox me muestre la fila del resultado que encontró.
Ejemplo:
Encontró el valor en la celda A3, el Text1 sea A1, Text2 sea A2, Text3 sea A3, etc. y al cambiar al siguiente valor que encontró los textBox también cambien.
Espero haber sido claro y me puedan ayudar, estoy un poco desesperado por este asunto.
De antemano muchas gracias por la ayuda que me puedan proporcionar.
Saludos.

Páginas: [1]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".