Questione : Assistenza di VBA

Ciao, il

I using il codice allegato per filtrare 2 listboxes dentro eccelle.  Ha funzionato per me prima, ma ora, non filtrerà e non visualizzerà i risultati nel manuale “di analisi„.  Visualizzerà soltanto il gruppo di dati completo.  Che modifiche devo apportare in modo che il codice filtri il mio gruppo di dati?
class= > " libero " del
> " del codeSnippet " del class= del
class= " lineNumbers " del
class= del
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
>Private notpretty CommandButton3_Click secondari " del class= " del id= " codeSnippet763134 del
 1 allora ws2.UsedRange.Clear
ws1. [A1: AX1]. Destinazione della copia: =ws2. [A16]

Regolare il rng = ws1.Range (ws1. [A17], ws1.Cells (ws1.Rows.Count, “A„). Estremità (xlUp))

Per ogni cel nel rng
  Se UCase (sList1) = "" o InStr (sList1, “|„ & cel. Valore & “|") <> 0 allora
     Se UCase (sList2) = "" o InStr (sList2, “|„ & cel. Contrappeso (0, 1).Value & “|") <> 0 allora
  cel. Ridimensionare (1, 50). Destinazione della copia: =ws2.Cells (ws2.Rows.Count, “A„). Estremità (xlUp). Contrappeso (1)
     Concluder se
  Concluder se
Cel seguente

Scaricarlo

Application.ScreenUpdating = allineano

Sommergibile dell'estremità

Sommergibile riservato CommandButton4_Click ()
Scaricarlo
Concludere il sommergibile

Sommergibile riservato UserForm1_Initialize ()
ListBox1.Selected (0) = allineano
ListBox2.Selected (0) = allineano

Sommergibile dell'estremità
class= del

Risposta : Assistenza di VBA

Penso che il vostro codice stia copiando tutte le file a causa della struttura del Th del “se„ clausole qui sotto:

Per ogni cel nel rng
  Se UCase (sList1) = "" o InStr (sList1, “|„ & cel. Valore & “|") <> 0 allora
     Se UCase (sList2) = "" o InStr (sList2, “|„ & cel. Contrappeso (0, 1).Value & “|") <> 0 allora
  cel. Ridimensionare (1, 50). Destinazione della copia: =ws2.Cells (ws2.Rows.Count, “A„). Estremità (xlUp). Contrappeso (1)
     Concluder se
  Concluder se
Cel seguente

In effetti il primo “se„ selezionamenti la fila per copiare l'IL UNO O IL ALTRO se slist1 è in bianco, o se ci è un fiammifero. Il secondo “se„ fa lo stessi per slist2.

La mia congettura è che cosa avete inteso eravate qualcosa come il codice qui sotto:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
Per ogni cel nel rng
  'se slist1 è in bianco, controllo slist2:
  Se UCase (sList1) = "" allora
     Se InStr (sList2, “|„ & cel. Contrappeso (0, 1).Value & “|") <> 0 allora
     cel. Ridimensionare (1, 50). Destinazione della copia: =ws2.Cells (ws2.Rows.Count, “A„). Estremità (xlUp). Contrappeso (1)
     concluder se
  altrimenti
  'se slist1 non è controllo in bianco per il fiammifero in slist1
     se InStr (sList1, “|„ & cel. Valore & “|") <> 0 allora
     cel. Ridimensionare (1, 50). Destinazione della copia: =ws2.Cells (ws2.Rows.Count, “A„). Estremità (xlUp). Contrappeso (1)
     concluder se
concluder se

Cel seguente
Altre soluzioni  
 
programming4us programming4us