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:
|
Opzione esplicita
'scritto da Neil Fleming
MineText secondario ()
Wb fioco come libro di esercizi, wsRaw come manuale, wsResults come manuale, wsIgnore come manuale
rSource fioco come gamma, rRow come gamma, rResults come gamma, rMatch come gamma
allText fioco come stringa
Indesiderabile fioco come stringa
Parole fioche () come stringa
aWord fioco come numero intero, aRow come numero intero, qui vicino come numero intero, maxCol come numero intero
Sul errortrap di avanzamento di errore
'manuali di messa a punto
Regolar wb = ActiveWorkbook
Regolare il wsRaw = il wb. Strati (“grezzo„)
Regolare i wsResults = il wb. Strati (“risultati„)
Regolare il wsIgnore = il wb. Strati (“ignorare„)
'regolare il rSource alle file non-in bianco
Regolare il rSource = la gamma (wsRaw.Range (“A5„), wsRaw.Range (“a5„). Estremità (xlDown))
allText = ""
Per ogni rRow in rSource.Rows
allText = allText & ““& rRow.Cells (1, 1).Value
Dopo
'aggiungere lo spazio di trascinamento:
allText = allText & ““
'maiuscola:
allText = UCase (allText)
'eliminare la punteggiatura:
il allText = sostituisce (allText, “,„, “")
il allText = sostituisce (allText, “; „, “")
il allText = sostituisce (allText, “. „, “")
il allText = sostituisce (allText, “-„, “")
'rimuovere le parole ignorate, using la lista da “ignorano„ il manuale
Per il aWord = 2 a wsIgnore.Cells (2, 1).End (xlDown). Fila
indesiderabile = wsIgnore.Cells (aWord, 1).Value
Mentre InStr (allText, ““& indesiderabile &„ ") > 0
il allText = sostituisce (allText, ““& indesiderabile &„ “,„ ")
Wend
Dopo
'eliminare i doppi spazi:
Mentre InStr (allText, “ ") > 0
il allText = sostituisce (allText, “ “,„ ")
Wend
'rimuovere gli spazi di trascinamento e di conduzione:
allText = disposizione (allText)
'convertito AllText all'allineamento delle parole:
Le parole = hanno spaccato (allText, “")
'PRESENTARE I RISULTATI:
'soppressione i risultati:
Con i wsResults
Application.ScreenUpdating = falso
. Cells.ClearContents
. Cells.ClearFormats
. Gamma (“a1„, “dd1000„). Interior.Color = RGB (255, 255, 255)
. Attivare
. Cellule (1, 1) = “conteggio„
. Cellule (1, 2) = “parola„
'inserire i risultati unici di parola in strato di risultati:
= 2 aRow
maxCol = 1
Per il aWord = 0 a UBound (parole)
'ridefinire la gamma di risultati:
Regolare i rResults =. Gamma (wsResults.Range (“b2„). Gamma (“b2„). Estremità (xlDown))
Regolare il rMatch = rResults.Find (parole (aWord))
'se parola nella lista, conteggio di incremento:
Se non il rMatch allora è niente
rMatch.Offset (0, -1) = rMatch.Offset (0, -1) + 1
'aggiungere al contrario alla lista:
Altrimenti
Regolare il rMatch = wsResults.Cells (aRow, 2)
rMatch.Value = parole (aWord)
rMatch.Offset (0, -1). Valore = 1
+ 1 aRow = aRow
Concluder se
'esaminare le parole vicine, avvenimenti di conteggio ed aggiungere alla destra della parola principale:
'il numero delle parole esaminate è fissato su “ignora„ lo strato “in ptrMaxWords„ chiamati cellula:
Per qui vicino = 1 a gamma (“ptrMaxWords„). Valore
'andare indietro:
Se aWord - parole vicine di AddNearby del >= 0 allora (aWord - qui vicino). Cellule (rMatch.Row, 1), maxCol
'andare trasmette:
Se aWord + qui vicino <> maxCol = rcol di maxCol allora. Colonna + 1 maxCol altro = maxCol
Sommergibile dell'estremità
CustomSort secondario (aRange come gamma)
'accoppiamenti di specie delle cellule lungo la fila basata su valore della prima cellula negli accoppiamenti:
StartCol fioco come numero intero, swapCol come numero intero, swapValue come numero intero
swapText fioco come stringa
StartCol = 2
Fare
swapCol = StartCol + 2
Fare
Se aRange.Cells (1, swapCol) > aRange.Cells (1, StartCol) allora
'scambiare le cellule e la cellula seguente avanti (contenendo parola) con a vicenda:
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
Concluder se
swapCol = swapCol + 2
Collegare fino a aRange.Cells (1, swapCol) = il ""
StartCol = StartCol + 2
Collegare fino a aRange.Cells (1, StartCol) = il ""
Concludere il sommergibile
|