Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
840to844
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
840to844
840to844
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Werte addieren, Verknüpfg erhalten, Ausschliessen

Werte addieren, Verknüpfg erhalten, Ausschliessen
25.01.2007 09:49:44
Afro
Hallo liebe Leute,
leider konnte ich immer noch keine Lösung finden.
Es sollen die Addressen durchs pfad für alle Worksheets ausser gs=9 genommen
und addiert werden.Dabei soll man die Verknüpfung erhalten.
Ergebnis der aktivierten Zelle soll sein:
='E:\SZ1\[2015.xls]GS1'!$AO6+'E:\SZ1\[2015.xls]GS2'!$CK6+'E:\SZ1\[2015.xls]GS3'!$CK6+'E:\SZ1\[2015.xls]GS4'!$AO6+'E:\SZ1\[2015.xls]GS5'!$EG6+'E:\SZ1\[2015.xls]GS6'!$CK6+'E:\SZ1\[2015.xls]GS7'!$AO6+'E:\SZ1\[2015.xls]GS8'!$CK6+'E:\SZ1\[2015.xls]GS10'!$AO6+'E:\SZ1\[2015.xls]GS11'!$AO6
kann mir jemand helfen?
Ciao und Danke, Afro
Sub einfuegen_addieren()
Dim y As Integer
Dim SZ As Integer
Dim gs As Worksheet
Dim pfad As String
Dim Bereich As Range
pfad = "=E:\SZ" & SZ & "\" & y & ".xls"
Sheets("A6").Select
ActiveCell.Offset(-1, 1).Activate
If SZ = 1 Then 'übergib die Adresse der Zelle ausser für gs=9
If gs.Name = "gs9" Then 'mache nichts für gs=9
Else
If gs = 1 Or gs = 4 Or gs = 7 Or gs = 10 Or gs = 11 Then
Set Bereich = Range("AO6")
ElseIf gs = 2 Or gs = 3 Or gs = 6 Or gs = 8 Then
Set Bereich = Range("CK7")
Else: Set Bereich = Range("GS7")
End If
End If
Else 'SZ="klp
End If
For gs.Name = "gs" & i To 10 'für alle gs=1 bis 11 ohne 9
ActiveCell.FormulaR1C1 = pfad & gs.Name & "+" & pfad & gs.Name 'addiere
'den Wert in der jeweiligen Addresse
'und erhalte die Verknüpfung
Next i
If SZ = 2 Then 'wie oben, ohne gs=10
'etc.
Else
End If

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte addieren, Verknüpfg erhalten, Ausschlies
25.01.2007 22:51:38
fcs
Hallo afro,
nachfolgend eine Möglichkeit das Ganze umzusetzen. Dabei muss du nochmals die Zelladressen prüfen, die in Abhängigkeit von der Zählnummer des Blattes in die Formel eingetragen werden sollen (Im Code sind CK7 bzw. GS7 angegeben, im Formelbeispiel CK6 und EG6).
Außerdem muss du noch angeben, wo die Werte für die Variablen SZ und y herkommen sollen. Ich hab jetzt einfach mal Testwerte eingesetzt.
Gruss
Franz

Sub einfuegen_addieren()
Dim y As Integer
Dim SZ As Integer
Dim gs As Integer
Dim gsNicht As Integer
Dim pfad As String
Dim Bereich As String
'Formel wird in Zelle B5 eingetragen
Range("A6").Select
ActiveCell.Offset(-1, 1).Activate
SZ = Val(Right(ActiveWorkbook.Path, 1)) ' Woher kommt der Wert für SZ ?
y = Val(Left(ActiveWorkbook.Name, 4)) '2015 'Woher kommt der Wert für y ?
SZ = 1 'Testwert
y = 2015 'Testwert
pfad = "E:\SZ" & SZ & "\[" & y & ".xls]"
'festlegen des nicht zu übernehmenden Tabellenblattes abhängig von SZ
Select Case SZ
Case 1
gsNicht = 9
Case 2
gsNicht = 10
Case Else
'do nothing ?
End Select
'Formel generieren
Formel = ""
For gs = 1 To 11
'Bereich für Formel festlegen abhängig von Zählnummer des Blattes
Select Case gs
Case 1, 4, 7, 10, 11
Bereich = "AO6"
Case 2, 3, 6, 8
Bereich = "CK7"
Case 5, 9
Bereich = "GS7"
Case Else
'do nothing
End Select
If gs = gsNicht Then
'do nothing
Else
If Formel = "" Then
Formel = "='" & pfad & "GS" & gs & "'!$" & Bereich
Else
Formel = Formel & " + '" & pfad & "GS" & gs & "'!$" & Bereich
End If
End If
Next
ActiveCell.FormulaLocal = Formel
End Sub

Anzeige
Es hat geklappt!!!:-))
27.01.2007 00:23:15
afro
Guten Abend Franz,
Du bist ein Gott!
Danke, nach einigen Modifikationen hat es geklappt!
Vielen, vielen Dank. Ich wäre Nie auf "Val(...)"
oder auf "Formel"
gekommen.....
ein erholsames WE, wünscht Dir
Afro

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige