Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1072to1076
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Nach Sheet namen suchen und Formel erstellen

Nach Sheet namen suchen und Formel erstellen
15.05.2009 17:08:23
Dirk
Hallo zusammen,
ich möchte in verschiedenen Worsheets dessen Vorhandensein vor dem öffnen nicht bekannt ist, in immer der gleichen Zelle (HK613) die Formel =STDEV(HK$5:HK$604) schreiben. Wie kann ich mittels VB nach bestimmenten worksheet namen suchen, und wenn vorhanden die Formel dort reinschreiben?
Möglichkeiten sind: Data Base & Results (Formel wäre: =STDEV(HK$5:HK$604)
Es könnten aber auch die sheets : Cluster 1 Cluster 2 Cluster 3 usw vorhanden sein... (Formel wäre dann:
=STDEV('Cluster 1'!HJ5:HJ604;'Cluster 2'!HJ5:HJ604;'Cluster 3')
Klingt komplex? Ist es für mich auch....
Ich versuche es nochmal mit anderen Worten: Ich habe eine Tabelle wo mittel einem Tool weitere sheets erzeugt werden. Ich will nun in einer dieser Tabelle die Standardabweichung (STDEV) aller Werte der vorhandenen Tabellen ermitteln. Und ich weiß nun vorher nicht wieviele jeweils vorhanden sind... Ist es eine, drei oder 6 mit dem Namen Cluster # .
Ich hoffe ihr könnt mir helfen...
Danke, gruß und ein schönes Wochenende
Dirk

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nach Sheet namen suchen und Formel erstellen
15.05.2009 17:38:15
Daniel
Hi
so:

Sub Makro1()
Dim sh As Worksheet
Dim FormelText As String
On Error Resume Next
Set sh = Sheets("Data Base & Results")
On Error GoTo 0
If sh Is Nothing Then
For Each sh In ThisWorkbook.Worksheets
If sh.Name Like "Cluster*" Then FormelText = FormelText & ";'" & sh.Name & "'!HJ5:HJ604" _
Next
If FormelText  "" Then
FormelText = "=STDEV(" & Mid$(FormelText, 2) & ")"
For Each sh In ThisWorkbook.Worksheets
If sh.Name Like "Cluster*" Then sh.Range("HK613").FormulaLocal = FormelText
Next
End If
Else
sh.Range("HK613").FormulaLocal = "=STDEV(HK$5:HK$604)"
End If
End Sub


Gruß, Daniel

Anzeige
AW: Nach Sheet namen suchen und Formel erstellen
18.05.2009 10:55:27
Dirk
Hallo Daniel,
vielen Dank, probiere ich nachher aus. Erst noch hochwichtige Abteilungsversammlung...
Gruß
Dirk
AW: Nach Sheet namen suchen und Formel erstellen
15.05.2009 17:48:39
Erich
Hi Dirk,
im Prinzip so:

Option Explicit
Sub STDEV_Formel()
Dim ii As Integer, strF As String
For ii = 0 To 9
If WorksheetEx("Cluster " & ii) Then
If Len(strF) > 0 Then strF = strF & ","
strF = strF & "'" & "Cluster " & ii & "'!HJ5:HJ604"
End If
Next ii
If Len(strF) > 0 Then Range("HK613").Formula = "=STDEV(" & strF & ")"
End Sub
Function WorksheetEx(strNam As String) As Boolean
On Error Resume Next
WorksheetEx = Worksheets(strNam).Index > 0
End Function

Die Formel wird in das aktive Blatt geschrieben.
Die Rolle von "Data Base & Results" ist mir nicht klar.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Nach Sheet namen suchen und Formel erstellen
18.05.2009 13:04:54
Dirk
Hallo Erich,
danke für deinen Code. Das Sheet Data Base & Results besteht in der "Rohtabelle" Wenn keine Cluster gebildet werden, brauche ich die Formel hier. (=STDEV(HK$5:HK$604)
Wenn Cluster gebildet werden, dann gibt es das Sheet mit dem Namen nicht mehr sonder mehrere andere mit Namen Cluster1 , Cluster2 u.s.w. Wenn das der Fall ist müsste die Formel im Sheet Cluster1 stehen.
Gruß
Dirk
Formel erstellen - bedingt
18.05.2009 16:42:31
Erich
Hi Dirk,
dann vielleicht so?

Option Explicit
Sub STDEV_Formel()
Dim ii As Integer, strF As String
If WorksheetEx("Data Base & Results") Then
Worksheets("Data Base & Results").Range("HK613").Formula = "=STDEV(HK$5:HK$604)"
ElseIf WorksheetEx("Cluster 1") Then
strF = "'Cluster 1'!HJ5:HJ604"
ii = 2
While WorksheetEx("Cluster " & ii)
strF = strF & ",'" & "Cluster " & ii & "'!HJ5:HJ604"
ii = ii + 1
Wend
Worksheets("Cluster 1").Range("HK613").Formula = "=STDEV(" & strF & ")"
Else
MsgBox "Die Mappe enthält weder Blatt 'Data Base & Results'" & vbLf & _
"noch Blatt 'Cluster 1'.", vbCritical
End If
End Sub
Function WorksheetEx(strNam As String) As Boolean
On Error Resume Next
WorksheetEx = Worksheets(strNam).Index > 0
End Function

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Formel erstellen - bedingt
18.05.2009 16:48:08
Dirk
Das sieht gut aus, ich bin heute leider nicht dazu gekommen. Mein Chef hatte anderes mit mir vor...
Probiere ich aus, und gebe Rückmeldung...
Danke noch mal.
Gruß
Dirk
AW: Formel erstellen - bedingt
20.05.2009 15:34:28
Dirk
Hallo Erich,
funktioniert perfekt! Tausend Dank!
Gruß
Dirk
Danke für Rückmeldung! - (owT)
20.05.2009 20:50:30
Erich
(ohne weiteren Text)

317 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige