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:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
|
Opção explícita
'escrito por Neil Fleming
MineText secundário ()
WB não ofuscante como o manual de instruções, wsRaw como a folha, wsResults como a folha, wsIgnore como a folha
rSource não ofuscante como a escala, rRow como a escala, rResults como a escala, rMatch como a escala
allText não ofuscante como a corda
Não desejado não ofuscante como a corda
Palavras não ofuscantes () como a corda
aWord não ofuscante como o inteiro, aRow como o inteiro, próximo como o inteiro, maxCol como o inteiro
No errortrap empreendedores do erro
'folhas da instalação
Ajustar WB = ActiveWorkbook
Ajustar o wsRaw = a WB. Folhas (“cru”)
Ajustar wsResults = WB. Folhas (“resultados”)
Ajustar o wsIgnore = a WB. Folhas (“ignorar”)
'ajustar o rSource às fileiras não-em branco
Ajustar o rSource = a escala (wsRaw.Range (“A5”), wsRaw.Range (“a5”). Extremidade (xlDown))
allText = ""
Para cada rRow em rSource.Rows
allText = allText & ““& rRow.Cells (1, 1). Valor
Em seguida
'adicionar o espaço de arrasto:
allText = allText & ““
'uppercase:
allText = UCase (allText)
'remover a pontuação:
o allText = substitui (allText, “,”, “")
o allText = substitui (allText, “; ”, “")
o allText = substitui (allText, “. ”, “")
o allText = substitui (allText, “-”, “")
'remover as palavras ignoradas, using a lista de “ignoram” a folha
Para o aWord = 2 a wsIgnore.Cells (2, 1). Extremidade (xlDown). Fileira
não desejado = wsIgnore.Cells (aWord, 1). Valor
Quando InStr (allText, ““& não desejado &” ") > 0
o allText = substitui (allText, ““& não desejado &” “,” ")
Wend
Em seguida
'remover espaços dobro:
Quando InStr (allText, “ ") > 0
o allText = substitui (allText, “ “,” ")
Wend
'remover os espaços da condução e de arrasto:
allText = guarnição (allText)
'converso AllText à disposição de palavras:
Palavras = separação (allText, “")
'APRESENTAR RESULTADOS:
'anular resultados:
Com wsResults
Application.ScreenUpdating = falso
. Cells.ClearContents
. Cells.ClearFormats
. Escala (“a1”, “dd1000”). Interior.Color = RGB (255, 255, 255)
. Ativar
. Pilhas (1, 1) = “contagem”
. Pilhas (1, 2) = “palavra”
'introduzir resultados originais da palavra na folha dos resultados:
= 2 aRow
maxCol = 1
Para o aWord = 0 a UBound (palavras)
'redefinir a escala dos resultados:
Ajustar rResults =. Escala (wsResults.Range (“b2”). Escala (“b2”). Extremidade (xlDown))
Ajustar o rMatch = o rResults.Find (palavras (o aWord))
'se palavra na lista, contagem do incremento:
Se não o rMatch não é nada então
rMatch.Offset (0, -1) = rMatch.Offset (0, -1) + 1
'adicionar de outra maneira à lista:
Mais
Ajustar o rMatch = o wsResults.Cells (aRow, 2)
rMatch.Value = palavras (aWord)
rMatch.Offset (0, -1). Valor = 1
+ 1 aRow = aRow
Terminar se
'examinar palavras próximas, ocorrências da contagem e adicioná-las à direita da palavra principal:
'o número de palavras examinadas é ajustado em “ignora” a folha em “ptrMaxWords nomeados pilha”:
Para próximo = 1 à escala (“ptrMaxWords”). Valor
'ir para trás:
Se aWord - palavras próximas de AddNearby do >= 0 então (aWord - próximo). Pilhas (rMatch.Row, 1), maxCol
'ir envia:
Se aWord + próximo <> maxCol = rcol do maxCol então. Coluna + 1 maxCol outro = maxCol
Submarino da extremidade
CustomSort secundário (aRange como a escala)
'pares das sortes de pilhas ao longo da fileira baseada no valor da primeira pilha nos pares:
StartCol não ofuscante como o inteiro, swapCol como o inteiro, swapValue como o inteiro
swapText não ofuscante como a corda
StartCol = 2
Fazer
swapCol = StartCol + 2
Fazer
Se aRange.Cells (1, swapCol) > aRange.Cells (1, StartCol) então
'trocar pilhas e a pilha seguinte longitudinalmente (contendo a palavra) um com o otro:
swapValue = aRange.Cells (1, swapCol)
swapText = aRange.Cells (1, swapCol + 1)
aRange.Cells (1, swapCol) = aRange.Cells (1, StartCol)
aRange.Cells (1, swapCol + 1) = aRange.Cells (1, StartCol + 1)
aRange.Cells (1, StartCol) = swapValue
aRange.Cells (1, StartCol + 1) = swapText
Terminar se
swapCol = swapCol + 2
Dar laços até aRange.Cells (1, swapCol) = o ""
StartCol = StartCol + 2
Dar laços até aRange.Cells (1, StartCol) = o ""
Terminar o submarino
|