Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1464to1468
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
Zellbezüge zu Tabellenblättern aus Userform
04.01.2016 12:44:23
Tobias
Hallo liebe VBA Tüftler,
könnt ihr mir bitte helfen?
Ich mache für meinen Schwager eine Abrechnung für seine Kunden.
Dabei habe ich einen Hänger und ich komme nicht mehr weiter.
Ich erzeuge aus einer UserForm heraus je Kunden ein neues Tabellenblatt. Dort hinterlege ich schon automatisch Rechenformeln inkl. wenn –dann Funktionen. Klappt auch!
Jedes neue Tabellenblatt fügt sich hinter das vorherige mit sheets.count.after ein. Aus der UserForm heraus steuere ich auch den Namen eines jeden Tabellenblattes individuell dazu (Name des Kunden). Parallel dazu wird dieser neue Kunden in 2 anderen Tabellenblättern, die immer fix die Ersten Blätter in der Arbeitsmappe sind, ebenfalls eingepflegt. Hier schiebe ich 4 neue Zeilen ein und die Daten packe ich dann dort hin.
In dem Tabellenblatt („Kunde“) arbeitet mein Schwager eine Zeit lang und pflegt dort seine Daten ein, die sich wie gesagt, mit den von mir hinterlegten Formeln zu einer Gesamtzahl verdichten.
Nun mein Hänger:
Ich möchte es schaffen, dass diese Gesamtzahl die in den individuellen Kundenblättern immer an der gleichen Position steht z.B. [Range(„K54“)] bei jeder Neuanlage des Kunden dann auch automatisch als Bezug und damit die Gesamtzahl, in den beiden vorderen fixen Blättern steht, ohne dass er jedes Mal die Verknüpfung erzeugen muss.
Wichtig ist noch, aber das muss eh klappen, dass sich der Zellbezug fest an das verknüpfte individuelle Kundenblatt hängt und sich beim Einfügen des nächsten Kunden mit nach unten verschiebt.
Ist das verständlich geschrieben und nachvollziehbar?
Ich muss mit dem Click Ereignis welches ein neues Kundentabellenblatt erzeugt den dortigen Wert der Zelle K54 automatisch per Verknüpfung in ein vorderes Blatt bringen.
Wahrscheinlich ist es wie immer ne Kleinigkeit aber ich packe es gerade nicht.
Könnt Ihr mir einen Tipp geben? Wär klasse.
Mit den besten Grüßen
Tobias

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

Betreff
Datum
Anwender
Anzeige
AW: Zellbezüge zu Tabellenblättern aus Userform
06.01.2016 12:55:55
fcs
Hallo Tobias,
nachfolgend ein Beispiel, wie es prinzipiell per Einfügen einer entsprechenden Formel funktionieren kann.
Gruß
Franz
Sub aaTest()
Dim wksKunde As Worksheet
Dim wksMaster01 As Worksheet
Dim wksMaster02 As Worksheet
Dim Zeile As Long
With ActiveWorkbook
'fixe Blätter setzen
Set wksMaster01 = .Sheets("Zusammenfassung1")
Set wksMaster02 = .Sheets("Zusammenfassung2")
'neues Kundenblatt anlegen, Name festlegen und anderes
Set wksKunde = .Worksheets.Add(after:=.Sheets(.Sheets.Count))
With wksKunde
.Name = "Neuer Kunde01"
End With
End With
'in den fixen Blättern Daten und Formeln mit Bezug zu Zelle im _
neuen Kundenblatt einfügen
With wksMaster01
Zeile = .Cells(.Rows.Count, 1).End(xlUp) + 4
.Cells(Zeile, 1) = wksKunde.Name
'Bezug zu Zelle K54 mit absoluten Bezügen
.Cells(Zeile, 3).FormulaR1C1 = "='" & wksKunde.Name & "'!R54C11"
End With
With wksMaster02
Zeile = .Cells(.Rows.Count, 1).End(xlUp) + 4
.Cells(Zeile, 1) = wksKunde.Name
'Bezug zu Zelle K54 mit absoluten Bezügen
.Cells(Zeile, 3).FormulaR1C1 = "='" & wksKunde.Name & "'!R54C11"
End With
End Sub

Anzeige
AW: Zellbezüge zu Tabellenblättern aus Userform
07.01.2016 12:30:44
Tobias
Hallo Franz,
herzlichen Dank für Deine Antwort! Ich habe am Tag darauf die Lösung gefunden durch suchen und testen!
Worksheets("gesamt").Range("D11").Formula = "=" & Worksheets(Sheets.Count).Range("K54").Address(External:=True)
Recht einfach und macht genau was ich wollte.
Werde Deine Option dennoch testen.
Danke vielmals für Deine Bemühungen.
Viele Grüße
Tobias

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige