Vorschlag
30.09.2016 19:33:08
Michael
Hi,
ich habe das Problem leider auch, aber es war mich nicht wichtig genug, mich darum zu kümmern.
Der Vorschlag besteht darin, die zu untersuchenden Subs usw. einfach über die Zwischenablage in ein leeres Blatt zu kopieren und das Makro drüber laufen zu lassen:
Option Explicit
Sub variablennamen()
Dim i, j, k, lngxxx, lngyyy, strUUU
Dim o As Object, oi, c As Range
Const ohne = ",=&$#+-*/ " ' nach Bedarf erweitern
Dim a, ai&, s$, r&
Range("H:I").Clear ' damit die vorhergehenden Ergebnisse weg sind
Set o = CreateObject("scripting.dictionary")
For Each c In UsedRange
s = Replace(c.Text, "(", " ")
s = Replace(s, ")", " ")
a = Split(s, " ")
If ai -1 Then
For ai = LBound(a) To UBound(a)
s = Trim(LTrim(a(ai)))
For r = 1 To Len(ohne): s = Replace(s, Mid(ohne, r, 1), ""): Next
If Mid(s, 1, 1) = "'" Then Exit For ' ohne Kommentare
o(s) = o(s) + 1
Next
End If
Next
r = 1
For Each oi In o.keys
Range("H" & r) = oi
Range("I" & r) = o(oi)
r = r + 1
Next
End Sub
Die Ausgabe kann man ja noch sortieren usw., aber der Punkt ist: alles, was = 1 ist, kommt nur einmal vor.
Schöne Grüße,
Michael