Red de conocimiento informático - Material del sitio web - Cómo actualizar tablas dinámicas y tablas de búsqueda de EXCEL usando VB

Cómo actualizar tablas dinámicas y tablas de búsqueda de EXCEL usando VB

Hay dos formas de actualizar una tabla dinámica en Excel:

1. Actualización manual

(1) Menú contextual,

en cualquier celda de la tabla dinámica. Haga clic derecho en la cuadrícula ----- para actualizar los datos;

(2) Utilice el botón de actualización en la barra de herramientas de la tabla dinámica;

(3)

Añadir botón de herramienta Actualizar toda la tabla dinámica:

(3.1) Opción de botón Agregar directamente en la barra de herramientas de la tabla dinámica--Botón Agregar o quitar--

上篇: ¿Cómo llamar a un control escrito en C# en MFC? /t/20051219/20/4468769.html Cuando se utiliza una DLL externa que no está administrada por .NET, a menudo desea saber qué interfaces expone la DLL (normalmente sólo los métodos expuestos son útiles). Por ejemplo, en una DLL escrita en C que lee un lector de tarjetas IC en un puerto serie, se expone el siguiente método. int auto_init(int port, ulong baudios); este método se utiliza para inicializar automáticamente el lector de tarjetas. Usaremos esta interfaz en C# a través de dllImport. Primero, el ensamblado debe hacer referencia al espacio de nombres que utiliza System.Runtime.InteropServices. Luego declare una referencia a este método en el programa. [DllImport("Mwic_32.dll")] public static unsafe extern int ic_init(int port, ulong baud); El constructor del atributo especial DllImport ingresa el nombre chino o el nombre completo del dll al que se hace referencia si solo se ingresa el nombre del archivo. , El sistema buscará un ensamblado con el nombre de archivo especificado en el directorio de ejecución. Tenga en cuenta que la referencia declarada debe ser de tipo externo estático e inseguro. El resto de la tabla es igual a lo definido en la dll. Una vez declarado, podemos usar el método tal como lo haríamos en nuestro propio código. Al usarlo, dado que estamos llamando a un fragmento de código no administrado, debemos usarlo en un método no administrado, y su forma de declaración es la siguiente. /// /// Método para inicializar el lector de tarjetas universal de la serie RD. (Este método llama a código no administrado) /// public unsafe void initMachine() { this.opened=true; this.st=this.icdev=ic_init(this.port, 9600); .error(this.st); this.opened=false; return } this.st=this.getState(this.icdev); if(stlt;0) { this.error(this.st); false; return }//System.Windows.Forms.MessageBox.Show(this.getCardType()); this.deep(10 }Tenga en cuenta que al declarar un método no administrado, no debe agregar ningún campo de Seguridad, marcándolo; como método no administrado. El tipo de datos utilizado dentro del método puede ser un tipo C# o un tipo de datos C o C. Si es sólo una llamada general, el método anterior es suficiente. El código administrado puede llamar a cualquiera de estos métodos no administrados en cualquier momento. Una cosa a tener en cuenta es que es mejor tener una buena detección de excepciones al llamar a código no administrado. Otro problema común es que los tipos de valores utilizados en los métodos no administrados son diferentes de los administrados, y los parámetros de los métodos no administrados a menudo son punteros, por lo que se debe tener cuidado al convertir los tipos administrados en punteros. Por ejemplo, en el dll del lector de tarjetas anterior, hay un método int get_status(int icdev, int* state) cuyo parámetro es un puntero. 下篇: ¿Por qué los números en la tabla WPS no pueden aumentar secuencialmente al desplazarse hacia abajo?