PDA

Vollständige Version anzeigen : Formel-Bezug automatisch


tornado
22.08.2001, 13:07
Hallo Excel Spezialisten

Habe da folgende Aufgabe in Excel 2000 zu lösen:

Bestehende Mappe enthält 37 Arbeitsblätter mit 6 Spalten:

Spalte A = Artikelnummer
Spalte B = Anzahl
Spalte C = Bezeichnung

sowie Preis, Summe und Bemerkungen

Pro Blatt sind bis zu 160 Zeilen möglich.

Nun sollten für jedes Arbeitsblatt Etiketten gedruckt werden. Dazu habe ich ein neues Arbeitsblatt eingerichtet, alles formatiert und folgende Formel in Zelle A1 eingetragen:

=WENN(Kiste21!B4>0;Kiste21!$A4;"")

bedeutet: wenn im Arbeitsblatt "Kiste21" in Zelle B4 die Menge Grösser als 0 ist, dann schreib mir den Inhalt aus dem Arbeitsblatt "Kiste21" aus Zelle A4 in die Zelle A1 sonst nichts.

Als nächstes habe ich die Formel in Zelle C1, E1, G1, I1 kopiert und die Formel entsprechend angepasst.

In der Zelle A2 steht folgende Formel:

=WENN(ISTZAHL(A1);SVERWEIS(A1;'Artikel_01_03_01 '!$A$2:$D$10449;2;0);"")

Das bewirkt, dass wenn eine ArtikelNummer in der Zelle A1 steht, holt mir diese Formel die aktuelle Artikelbezeichnung aus der entsprechenden Tabelle.

Auch diese Formel habe ich in die Zellen C2, E2, G2 und I2 kopiert und angepasst.

Die kompletten Zeilen 1 und 2 habe ich dann bis Zeile 78 fortgesetzt, so dass bis zu drei Seiten Etiketten ausgedruckt werden können.

Nun sollte ich dieses Spiel für alle 37 Arbeitsblätter wiederholen !!! :( :(

Gibt es da vielleicht irgend ein Weg, um diese Formeln automatisch zu aktualisieren, je nach dem für welches Arbeitsblatt ich die Etiketten drucken will.

Habe es da mal mit der Funktion Namen versucht, jedoch lässt Excel keinen Verweis ohne Zellbeug zu.

Wer hat mir da nen Vorschlag?

Gruss
tornado

<p align="left"><font size="1" face="Century Gothic"><font color="#000000">Moderatorenanmerkung: die Überarbeitung dieses Beitrages ist im Zuge der Arbeiten zu sehen, die durch den Wechsel der Forensoftware zum 01.01.2003 verursacht wurden.

Es wurde in diesem Beitrag ein Link entfernt.</font>

tornado
22.08.2001, 13:13
Vielleicht noch folgendes (als Ergänzung),

Das erstellte Etiketten-Blatt wollte ich dann kopieren und müsste somit in allen Formeln den Eintrag "Kiste21!" in zB "Kiste01!" oder "WKOFFER" abändern.

Und genau für dieses Abändern suche ich ne gscheite Lösung!

Besten Dank
Roger

jinx
23.08.2001, 06:27
<font size="2" face="Century Gothic">Moin, Roger,

z.B. die "Suchen und Ersetzen"-Funktion/Menü Bearbeiten?

Als Idee: Ausgabeblatt einmal erstellen, den Namen des ersten zu durchsuchenden Tabellenblattes in einer Zelle hinterlegen, Wert einlesen, per Eingabeaufforderung Namen neues Blatt anfordern, Wert in Zelle hinterlegen, replace...
So würde das Blatt nur einmal existieren, die Ersetzen-Funktion hätte den Grundwert, bei Bedarf würde gewünschtes Blatt angewählt... ob`s allerdings besser aussieht, als der normale Dialog?

<font color="#808080" size="3" face="Arial Black">HTH
jinx</font>

<font size="1" face="Century Gothic">Moderatorenanmerkung: die Überarbeitung dieses Beitrages ist im Zuge der Arbeiten zu sehen, die durch den Wechsel der Forensoftware zum 01.01.2003 verursacht wurden.

Es wurde in diesem Beitrag die Signatur angepasst...</font>

tornado
23.08.2001, 06:35
Schönen guten Morgen jinx

Genau das, mit Suchen & Ersetzen hab ich diese Nacht geträumt, ich denke dass das wohl der einfachste Weg sein wird.

Besten Dank für Deine "Anteilnahme" :D

Gruss
Roger

<font size="1" face="Century Gothic">Moderatorenanmerkung: die Überarbeitung dieses Beitrages ist im Zuge der Arbeiten zu sehen, die durch den Wechsel der Forensoftware zum 01.01.2003 verursacht wurden.

Es wurden in diesem Beitrag Links korrigiert, die auf falsche Adressen zeigten...</font>

tornado
23.08.2001, 07:52
So, des war's.

Der Job ist erledigt!

Es lief doch besser(schneller) als ich dachte. :) :)

Gruss und nochmals d@nke
Roger

<font size="1" face="Century Gothic">Moderatorenanmerkung: die Überarbeitung dieses Beitrages ist im Zuge der Arbeiten zu sehen, die durch den Wechsel der Forensoftware zum 01.01.2003 verursacht wurden.

Es wurden in diesem Beitrag Links korrigiert, die auf falsche Adressen zeigten...</font>

Stema
23.08.2001, 08:22
Hallo Tornado,

ich habe mal einen Code geschrieben, mit dem man Formeln einfügen kann. Den kannst Du auf Deine Bedürfnisse umschreiben.
Sub FormelnEinfügen()

Dim i As Integer
Dim Formel As Variant
Dim Nummer As String
Const Spalte1 As Integer = 2 ' !!! Spaltennummer eingeben !!!
Const Spalte2 As Integer = 3 ' !!! Spaltennummer eingeben !!!
Const Spalte3 As Integer = 4 ' !!! Spaltennummer eingeben !!!
Dim Zeile As Integer


Zeile = 4
'On Error Resume Next
For i = 2 To 200 ' !!! Zeilenrange eingeben !!!
Zeile = Zeile + 2

For X = 1 To 2
Nummer = Trim(Str(i))
Do While Len(Nummer) < 3
Nummer = "0" & Nummer
Loop

Select Case X
Case 1
Formel = "IF(AvID" & Nummer & "="""";"""";AvID" _
& Nummer & ")"
ActiveSheet.Cells(Zeile, Spalte1).Formula = Formel
Formel = "IF(AvID" & Nummer & "="""";"""";""*"" & AvID" _
& Nummer & " & ""*"")"
Cells(Zeile, Spalte2) = Formel
Formel = "IF(PN" & Nummer & "="""";"""";PN" _
& Nummer & ")"
Cells(Zeile, Spalte3) = Formel
Case 2
Formel = "IF(AvID" & Nummer & "="""";"""";BoxN" _
& Nummer & ")"
ActiveSheet.Cells(Zeile + 1, Spalte1).Formula = Formel
Formel = "IF(AvID" & Nummer & "="""";"""";""*"" & RIGHT(B7;5) & ""*"")"
Cells(Zeile + 1, Spalte2) = Formel
Formel = "IF(Opt" & Nummer & "="""";"""";Opt" _
& Nummer & ")"
Cells(Zeile + 1, Spalte3) = Formel
Case 3
Formel = "=""Opt.: (30P) "" & Opt" & Nummer & ""
Cells(Zeile + 2, Spalte1).Formula = Formel
Formel = "=""AvailID: "" & AvID" & Nummer & ""
Cells(Zeile + 2, Spalte2).Formula = Formel
Case 4
Formel = "IF(PN" & Nummer & "="""";"""";""*30P"" & Opt" _
& Nummer & " & ""*"")"
Cells(Zeile + 3, Spalte1).FormulaR1C1 = Formel
Formel = "IF(AvID" & Nummer & "="""";"""";""*"" & AvID" _
& Nummer & " & ""*"")"
Cells(Zeile + 3, Spalte2).FormulaR1C1 = Formel
End Select
Next X
Next i


End Sub




------------------

Gruß Stema
------------------

tornado
23.08.2001, 08:31
Hallo Stema

Besten Dank für Deinen Code. Obwohl die Arbeit zwischenzeitlich erledigt ist, werde ich mir Deinen Code mal reinziehen.

Es könnte ja mal was ähnliches reinschneien. :D

Besten Dank
Roger

<font size="1" face="Century Gothic">Moderatorenanmerkung: die Überarbeitung dieses Beitrages ist im Zuge der Arbeiten zu sehen, die durch den Wechsel der Forensoftware zum 01.01.2003 verursacht wurden.

Es wurden in diesem Beitrag Links korrigiert, die auf falsche Adressen zeigten...</font>