Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1100to1104
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

VBA - Formeln kopieren mit Bezug auf andere Sheets

VBA - Formeln kopieren mit Bezug auf andere Sheets
Fabian
Hallo Zusammen,
ich habe folgende Problemstellung:
Eine Exceldatei *xlsx mit insgesamt 4 Tabellenblättern.
Tabellenblatt 1 - Material Data - Dateneingabe ab Zeile 2.
Tabellenblatt 2 - ABCXYZ - nicht relevant für das Problem
Tabellenblatt 3 - Life Time Cycle - Berechnung, die auf Daten aus Tabelle 1 beruht (Formeln in Spalte A bis D ab Zeile 5)
Tabellenblatt 4 - Days of Inventory - Berechnung, die auf Daten aus Tabelle 1 beruht (Formeln in Spalte A bis E ab Zeile 7)
Werden nun neue Daten in Tabelle 1 eingegeben, dann sollen automatisch die Formeln in Tabelle 3 und Tabelle 4 runterkopiert werden, bis zum letzten Wert der Tabelle 1 (respektive + 4 Zeilen für Tabelle 3 und+ 6 Zeilen für Tabelle 4).
Werden Daten aus Tabelle 1 gelöscht, so sollen auch die Formeln in Tabelle 3 und Tabelle 4 wieder gelöscht werden - bis auf die erste Formelzeile, um die Formel zu erhalten (Zeile 5 in Tabelle 3 und Zeile 7 in Tabelle 4).
Ich denke, dass es sicherlich dafür eine VBA Lösung gibt, nur sind meine VBA Kenntnisse leider eher beschränkt auf den Makrorekorder.
Vielen Dank und Besten Gruß
Fabian

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA - Formeln kopieren mit Bezug auf andere Sheets
20.09.2009 23:03:17
fcs
Hallo Fabian,
mit den folgenden Prozeduren, die du im VBA-Editor unter dem Tabellenblatt "MAterial Data" einfügen muss, werden die Formeln in den Blättern 3 und an die Dateneingabe im Blatt 1 angepasst.
Gruß
Franz
Private Sub Worksheet_Change(ByVal Target As Range)
Dim wksCycle As Worksheet, wksInventory As Worksheet
Dim ZeilenData As Long, ZeilenTab As Long
Set wksCycle = Worksheets("Life Time Cycle")
Set wksInventory = Worksheets("Days of Inventory")
Me.Unprotect
ZeilenData = ZeileLetzte(wks:=Me, SpalteBis:=1) 'Letzte Datenzeile in Spalte A
Me.Protect
If Target.Row >= ZeilenData Then
'Blatt "Life Time Cycle" prüfen und bearbeiten
With wksCycle
.Unprotect
ZeilenTab = ZeileLetzte(wks:=wksCycle, SpalteBis:=1)
If ZeilenData = 1 Then 'Alle Daten wurden gelöscht
If ZeilenTab > 5 Then
.Range(.Cells(6, 1), .Cells(ZeilenTab, 4)).ClearContents
End If
ElseIf ZeilenData + 3 > ZeilenTab Then
.Range(.Cells(5, 1), .Cells(ZeilenData + 3, 4)).FillDown
ElseIf ZeilenData + 3  7 Then
.Range(.Cells(8, 1), .Cells(ZeilenTab, 4)).ClearContents
End If
ElseIf ZeilenData + 5 > ZeilenTab Then
.Range(.Cells(7, 1), .Cells(ZeilenData + 5, 4)).FillDown
ElseIf ZeilenData + 5 

Anzeige
AW: VBA - Formeln kopieren mit Bezug auf andere Sheets
21.09.2009 11:32:27
Fabian
Hallo Franz,
besten Dank für die Lösung. Funktioniert perfekt.
Beste Grüße aus dem Sauerland,
Fabian
AW: VBA - Formeln kopieren mit Bezug auf andere Sheets
16.09.2009 14:16:31
Fabian
Folgendes VBA Script habe ich noch gefunden, welches schon einmal in die richtige Richtung geht, kann es aber noch nicht wirklich nachvollziehen oder die Verknüpfung auf ein anderes Tabellenblatt herstellen.
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim RowA As Long, RowE As Long
On Error GoTo Hell
If Target.Column = 1 Then
RowA = [A65536].End(xlUp).Row
RowE = [E65536].End(xlUp).Row
'nur wenn in Spalte A mehr Einträge sind
If RowA > RowE Then
Range(Cells(RowE, 5), Cells(RowE, 8)).AutoFill Destination:= _
Range(Cells(RowE, 5), Cells(RowA, 8)), Type:=xlFillDefault
End If
End If
Exit Sub
Hell:
MsgBox "FehlerNr.: " & Err.Number & vbNewLine & vbNewLine _
& "Beschreibung: " & Err.Description _
, vbCritical, "Error:"
Resume Next
End Sub

Anzeige

336 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige