No carga Listbox VBA

Quisiera pedir ayuda con una macro en la que estoy trabajando. Estoy con un combobox en donde estan los clientes. Al seleccionar alguno y presionar buscar, intento traer todoas las coincidencias desde una planilla maestra a un Listbox.

La llamada la hago desde un comboBox para buscar por cliente, pero solo me está trayendo el ultimo dato ingresado. En el ejemplo del Cliente A, al filtrar son 8 registros y solo me muestra la primera fila encontrada. introducir la descripción de la imagen aquí

Este es el código de mi Botón buscar (con el cliente seleccionado en el combo box)

Private Sub google2_Click()     Application.ScreenUpdating = False Dim buscar2 buscar2 = texto2.Value      If buscar2 <> Empty Then     Sheets("Hoja1").Unprotect Password:="cr123"             Hoja1.ListObjects("Tabla1").Range.AutoFilter Field:=36, Criteria1:= _                 buscar2                  UserForm2.lista.List = Range("Tabla1").SpecialCells(xlCellTypeVisible).Value2               Sheets("Hoja1").Protect Password:="cr123"          Else: MsgBox "Debe introducir un valor"     End If     Application.ScreenUpdating = True End Sub 

Les agradezco desde ya

No se carga fichero log ni mensaje en Consola en Maven

Estoy implantando log4j.jar en mi proyecto maven y voy a utilizar el fichero log4j.properties que se encuentra en en src/main/resource. La clase que ejecuta es la siguiente:

public class Log4jInit extends HttpServlet{  /**  *   */ private static final long serialVersionUID = 1L; private static Logger log = null;  @Override public void init(){      String file = getInitParameter(Constantes.LOG4JINIT);       if(file != null){          URL url = this.getClass().getClassLoader().getResource(file);         PropertyConfigurator.configure(url);         log = Logger.getLogger(Log4jInit.class);         log.info("prueba");     } }   @Override  public void doGet(HttpServletRequest req, HttpServletResponse res) {  } 

}

El fichero log4j.properties contiene lo siguiente (Esta configurado para que salga en consola y tambien que se genere un fichero log):

log4j.rootCategory=INFO, CONSOLA,ARCHIVO  log4j.appender.CONSOLA=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLA.Target=System.out log4j.appender.CONSOLA.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLA.layout.ConversionPattern=%d{dd-MM-yyyy HH:mm:ss} %5p %c{1}:%L - %m%n  log4j.appender.ARCHIVO=org.apache.log4j.RollingFileAppender log4j.appender.ARCHIVO.File=/logapp85/salesforcews/salesforcews.log log4j.appender.ARCHIVO.MaxBackupIndex=5 log4j.appender.ARCHIVO.layout=org.apache.log4j.PatternLayout log4j.appender.ARCHIVO.layout.ConversionPattern=%d{dd-MM-yyyy HH:mm:ss} %5p %c{1}:%L - %m%n log4j.appender.ARCHIVO.MaxFileSize=2MB 

En web.xml tengo lo siguiente:

<servlet>     <servlet-name>log4j-init</servlet-name>     <servlet-class>es.elcorteingles.n005.utils.Log4jInit</servlet-class>     <init-param>         <param-name>log4j-init-file</param-name>         <param-value>classpath:log4j.properties</param-value>     </init-param>     <load-on-startup>1</load-on-startup> </servlet> 

y en el pom.xml :

<resource>         <directory>src/main/resource</directory>         <targetPath>$  {project.build.directory}</targetPath>         <filtering>true</filtering>          <includes>           <include>**/*.properties</include>         </includes>       </resource> 

El problema que tengo es que aunque en todas las clases utilizo import org.apache.log4j.Logger; no se me carga en la consola ni se genera el fichero Me podríais indicar que puede faltar o que esta mal configurado? cualquier duda o aclaración decídmelo y lo veo.

Muchas gracias y un saludo.

No me carga mi estilo CSS personalizado en el navbar de bootstrap 4

estoy intentando cambiar un par de cosillas del menu nav de bootstrap, como el background y eso,le he puesto como id main_menu, este es mi menu: menu

<nav id="main_menu" class="navbar navbar-expand-lg navbar-light bg-light">   <a class="navbar-brand" href="index.php">Inicio</a>   <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">     <span class="navbar-toggler-icon"></span>   </button>    <div class="collapse navbar-collapse" id="navbarSupportedContent">     <ul class="navbar-nav mr-auto">       <li class="nav-item active">         <a class="nav-link" href="perfil.php">Mi perfil <span class="sr-only">(current)</span></a>       </li>       <li class="nav-item dropdown">         <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">           Mensajes         </a>         <div class="dropdown-menu" aria-labelledby="navbarDropdown">           <a class="dropdown-item" href="#">Crear mensaje</a>           <a class="dropdown-item" href="#">Ver mis mensajes</a>         </div>       </li>     </ul>     <form class="form-inline my-2 my-lg-0">       <input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search">       <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Buscar</button>     </form>     <a style="margin: 5px; height: 40px;" class="nav-link btn btn-danger" href="procesos/logout.php">Salir</a>   </div> </nav> 

fichero.css

#main_menu{      background: #F7971E !important;     background: -webkit-linear-gradient(to bottom, #FFD200, #F7971E) !important;     background: linear-gradient(to bottom, #FFD200, #F7971E) !important;     background-color: black !important;      /*mi css personalziado*/     padding: 12px !important;     border-radius: 5px 5px 5px !important;     margin-top: 10px !important;     box-shadow: 0 0 15px gray !important; } 

Y lo estoy importando en en perfil.php

<?php      session_start();      if (isset($  _SESSION['usuario'])) {    ?>       <!DOCTYPE html>      <html lang="en">      <head>         <meta charset="UTF-8">         <title>Inicio</title>         <!-- IMPORT BOOTSRAP-CSS -->         <?php include_once 'partials/bootstrap_css.php' ?>             <!-- CSS 'FULL' -->             <link rel="stylesheet" href="estilos/full.css">      </head>      <body>           <div class="container">                     <?php include_once 'partials/menu.php'; ?>               <div class="row">                 <div class="col">                 <!-- CUERPO -->                  <h1>Mi perfil</h1>                  </div>             </div>          </div>            <!-- IMPORT BOOTSRAP JQUERY -->         <?php include_once 'partials/bootstrap_jquery.php' ?>      </body>      </html>   <?php        }       else{         header('location: login.php');     }   ?> 

Pero se mantiene el estilo de origen . Incluso le habia puesto !important para forzar el estilo, pero ni aun asi.

Decir tambien que el fichero del menu.php lo estoy importando con <?php include_once 'partials/menu.php'; ?>

¿Por qué carga los datos previos al submit?

Tengo una aplicación construida con node, angular y mongo. Quiero traer ciertos datos al digitar un codigo pero al hacer el submit, la función se ejecuta correctamente y si obtengo los datos pero en la consola me muestra los datos previos al submit.

Este es mi component.ts

import { Component, OnInit, ViewChild, ElementRef } from '@angular/core'; import { Catalogo } from 'src/app/models/catalogo'; import { ClaseService } from 'src/app/services/clase.service'; import { Clase } from 'src/app/models/clase'; import { Transaccion } from 'src/app/models/transaccion'; import { Cuenta } from 'src/app/models/cuenta'; import { CuentaService } from 'src/app/services/cuenta.service';  export interface CuentaTable {   cuenta: string;   debe: number;   haber: number; }  @Component({   selector: 'app-crear-partida',   templateUrl: './crear-partida.component.html',   styleUrls: ['./crear-partida.component.css'],   providers: [ClaseService, CuentaService] })   export class CrearPartidaComponent implements OnInit {   //Titulos   public title: string;   public subtitle: string;   //Declarar modelos   public register_transaccion: Transaccion;   public clase: Clase;   public cuenta: Cuenta;    //Tabla   public CUENTAS_DATA: CuentaTable[];   //Filas a indexar   public newRow;   //Variables para debe y haber   public debe: number;   public haber: number;    constructor(     private _claseService: ClaseService,     private _cuentaService: CuentaService,   ) {      this.title = 'Nueva Partida'     this.subtitle = 'Partida'     this.register_transaccion = new Transaccion('', '', '', null, null, null);     this.CUENTAS_DATA = [];     this.newRow = new Array();   }    ngOnInit() {     console.log(this.CUENTAS_DATA)   }    getDebeHaber() {     if(this.register_transaccion.saldo == 0) {       if(this.register_transaccion.transaccion == 0) {         this.debe = this.register_transaccion.monto;         this.haber = 0;       } else {         this.debe = 0;         this.haber = this.register_transaccion.monto;       }     } else {       if(this.register_transaccion.transaccion == 1) {         this.debe = this.register_transaccion.monto;         this.haber = 0;       } else {         this.debe = 0;         this.haber = this.register_transaccion.monto;       }     }   }    addToTable() {     let codigo = this.register_transaccion.codigo     this.getClase(codigo.substring(0,1));     switch(this.register_transaccion.codigo.length) {       case 3:         this.getCuenta(codigo);       break;       case 5:       break;       case 7:       break;     }         this.getDebeHaber();     this.newRow = {       codigo: codigo,       cuenta: this.register_transaccion.cuenta,       debe: this.debe,       haber: this.haber     };     this.CUENTAS_DATA.push(this.newRow);     console.log(this.CUENTAS_DATA)     console.log(this.register_transaccion.saldo)   }    getClase(id: string) {     this._claseService.getClase(id).subscribe(       response => {                   if(!response.clase) {           //this._router.navigate(['/']);         } else {           this.clase = response.clase           this.register_transaccion.saldo = this.clase.saldo;         }       },       error => {         var errorMessage = <any>error          if(errorMessage != null) {           var body = JSON.parse(error._body);           console.log(error);         }       }     )   }   getCuenta(id: string){     this._cuentaService.getCuenta(id).subscribe(       response => {         if(!response.cuenta) {           //this._router.navigate(['/']);         } else {           this.cuenta = response.cuenta;           this.register_transaccion._id = this.cuenta._id;           this.register_transaccion.codigo = this.cuenta.codigo;           this.register_transaccion.cuenta = this.cuenta.cuenta;         }       },       error => {         var errorMessage = <any>error          if(errorMessage != null) {           var body = JSON.parse(error._body);           console.log(error);         }       }     )   } }  

Este es el .html

<h1>{¿Por qué carga los datos previos al submit?}</h1> <mat-card>     <form autocomplete="off" class="input-form" #inputForm="ngForm" (ngSubmit)="addToTable()">     <mat-form-field>       <input type="text" matInput placeholder="Código de Cuenta" #codigo="ngModel" name="codigo" [(ngModel)]="register_transaccion.codigo">           </mat-form-field>     <mat-form-field>       <input type="number" matInput placeholder="Monto $  "  min="0" step="0.01" #monto="ngModel" name="monto" [(ngModel)]="register_transaccion.monto" value="0">     </mat-form-field>     <mat-form-field>       <input type="number" matInput placeholder="Transacción" #transaccion="ngModel" name="transaccion" [(ngModel)]="register_transaccion.transaccion" min="0" max="1" value="0">       <mat-hint><i>0: Ingreso / 1: Egreso</i></mat-hint>     </mat-form-field>         <button mat-raised-button class="submit-button" type="submit" color="primary">Agregar</button>   </form>   </mat-card> 

Aquí muestro un ejemplo de lo que me sucede introducir la descripción de la imagen aquí

Como se ve en la imagen, en el primer submit, me muestra los datos inicializados y el codigo que estoy mandando. Cuando hago submit por segunda vez, me muestra los datos del submit anterior.

¿Qué puedo hacer para que cargue los datos de forma inmediata luego del submit?

No carga localhost en NodeJS

Tengo un problema. Estoy usando NodeJS y mi localhost queda cargando sin emitir respuesta. Dirán que falta un “next()”, pero por lo que veo no es así.

app.js

const express=require('express') const morgan=require('morgan') const path=require('path') const mongoose=require('mongoose')  const app=express() //Connect to DB   //Routes  const index=require('./routes/index')  //Settings app.set('port', process.env.PORT || 3000) app.set('views', path.join(__dirname,'views')) app.set('view engine', 'ejs')  //Middelwares app.use(morgan('dev')) app.use(express.json) app.use(express.urlencoded({ extended: false }))   //Static fields  //Routes app.use('/', index)  //Server app.listen(app.get('port'),()=>{     console.log(`Server on port $  {app.get('port')}`) })

index.js

const express=require('express') const router=express.Router()  router.get('/', (req,res)=>{     res.end('Hola mundo') })  module.exports=router;

package.json

{   "name": "Mongo",   "version": "1.0.0",   "description": "",   "main": "index.js",   "scripts": {     "dev": "nodemon app.js",     "test": "echo \"Error: no test specified\" && exit 1"   },   "keywords": [],   "author": "",   "license": "ISC",   "dependencies": {     "ejs": "^2.6.1",     "express": "^4.16.4",     "mongoose": "^5.4.19",     "morgan": "^1.9.1"   },   "devDependencies": {     "nodemon": "^1.18.10"   } }

Se me pudieran ayudar se lo agradecería mucho. Es algo que empzó a sucederme de la nada hace días con varios proyectos.

Cambiar src de un video automaticamente si la url no carga

nesecito la manera de cambiar el src de un video que no carga ya sea porque la url esta caida (en este ejemplo mal copiada para que no cargue) y automaticamente cargue otro video. nota: no estoy buscando compatibilidad con formato, solo nesecito que cambie el video si el primer src no carga eso es todo, no se muy bien, algo como:

<video id="Video" src="https://downld.blenr.org/peach/trailer/tiler_400p.ogg" autoplay="autoplay" controls="controls" ></video>  var video = document.getElementById("Video")       if(video.currentTime == 1){     video.pause();     }else{     this.setAttribute('src', 'https://download.blender.org/peach/trailer/trailer_400p.ogg').play();     } 

Sino se puede son mi ejemplo, pues recuerden que solo quiero el resultado que es el cambio. De ser posible me gustaria utilizar javascript no soy muy fanatico al jquery. Esperando pronta respuesta.

Animación mientras carga un iframe con jquery

Quiero mostrar una animación por unos segundos y despues que cargue un iframe.

Animación

<div id="preloader5"></div>  <style> #preloader5{ position:relative; width:30px; height:30px; background:#3498db; border-radius:50px; animation: preloader_5 1.5s infinite linear; } #preloader5:after{ position:absolute; width:50px; height:50px; border-top:10px solid #9b59b6; border-bottom:10px solid #9b59b6; border-left:10px solid transparent; border-right:10px solid transparent; border-radius:50px; content:''; top:-20px; left:-20px; animation: preloader_5_after 1.5s infinite linear; } @keyframes preloader_5 { 0% {transform: rotate(0deg);} 50% {transform: rotate(180deg);background:#2ecc71;} 100% {transform: rotate(360deg);} } @keyframes preloader_5_after { 0% {border-top:10px solid #9b59b6;border-bottom:10px solid #9b59b6;} 50% {border-top:10px solid #3498db;border-bottom:10px solid #3498db;} 100% {border-top:10px solid #9b59b6;border-bottom:10px solid #9b59b6;} } </style> 

Función donde se cuentra el iframe

<button id="ok">Empezar</button>  <div id="insertarIframe"></div>  $  ('#ok').click(function() { var url = ''; document.getElementById("insertarIframe").innerHTML = "<iframe src=" + url + ">Tu navegador no soporta iframes.</iframe>"; }) 

¿Cómo lo puedo hacer?