Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1960to1964
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

Tabellenblattdaten automatisiert übertragen

Tabellenblattdaten automatisiert übertragen
11.01.2024 12:07:08
Mazze
Hallo,
ich habe folgendes Problem: in Tabellenblatt 1 stehen viele Daten in rund 20 Spalten. Manche davon sind nur teilweise ausgefüllt. Ich möchte nun dass, wenn in einer bestimmten Spalte eine Zelle ausfüllt ist, automatisch ein Teil der Daten aus der entsprechenden Zeile in Tabellenblatt 2 übertragen wird. Ist die Zelle nicht ausgefüllt, soll die Zeile gar nicht in Tabellenblatt 2 auftauchen. Soweit ich gesehen habe gibt es dafür keine Formel und mit VBA kenn ich mich leider nicht aus. Kann mir jemand mit dem Code dazu helfen?
Gruß
Mazze

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblattdaten automatisiert übertragen
11.01.2024 12:34:49
Armin
Lade bitte ein Musterdatei hoch was wann wie das Ganze am Ende ausschauen soll.

LG
Armin
AW: Tabellenblattdaten automatisiert übertragen
11.01.2024 17:01:15
Piet
Hallo

statt "Lastdeckung" Spalte V, W gibt es in der Beispieldatei nur das Sheet "Last", mit den Spalten R, S
Der Code wurde abweichend von deiner Frage für Sheet "LAST" entwickelt. Kann umgeschrieben werden!

mfg Piet

Option Explicit         '11.1.24  Piet  für Herber Forum

Dim HKD As Worksheet
Dim rFind As Range, Txt As String

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("R:S")) Is Nothing Then
If Target.Row = 1 Or Target.Value = "" Then Exit Sub
Set HKD = Worksheets("HKD") 'Sheet HKD setzen
Txt = Cells(Target.Row, 2) 'Raum Nummer laden

Set rFind = HKD.Columns(2).Find(What:=Txt, After:=[b2], LookIn:=xlFormulas, LookAt:= _
xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False)
If rFind Is Nothing Then MsgBox Txt & " - Raum Nummer nicht gefunden!": Exit Sub

If Not rFind Is Nothing Then
If Target.Column = 18 Then
rFind.Offset(0, 12) = Target.Value
ElseIf Target.Column = 19 Then
rFind.Offset(0, 16) = Target.Value
End If
End If
End If
End Sub
Anzeige
AW: Tabellenblattdaten automatisiert übertragen
11.01.2024 17:02:38
Piet
Nachtrag

der Code gehört in das Sheet "Last", nicht in ein normales Modul. Er wird durch Eingabe in R,S ausgelöst.

mfg Piet
AW: Tabellenblattdaten automatisiert übertragen
12.01.2024 14:53:37
Mazze
Hi Piet,
vielen lieben Dank für den Code. Scheint soweit zu funktioneren. Allerdings, wenn ich es richtig verstehe sucht das Programm in der Zieltabelle (HKD) nach der Raumnummer um dann in die entsprechende Zeile den Wert zu schreiben. Was ich eigentlich brauche ist, dass es mir die Raumnummer (+Bezeichnung etc) selbst mit in die Zieltabelle schreibt. Denn nur wenn in den Spalten R,S in der Lasttabelle soll die Spalte mit der Raumnummer überhaupt in der HKD-Tabelle aufgeführt sein.
Desweiteren wär es super, wenn die Funktion nicht auf das Blatt HKD beschränkt ist, sondern auf andere Tabellenblätter erweitert werden kann, wenn andere Spalten ausgefüllt werden.
Gruß Mazze
Anzeige
AW: Tabellenblattdaten automatisiert übertragen
12.01.2024 15:29:18
Piet
Hallo Mazze

na ja, bei deinen ScreenShots war ersichtlich, das nur die Werte von Spalte V, W nach HKD kopiert werden sollten.
Dabei ging ich davon aus, das nachder Raum Nummer gesucht werden muss. So habe ich es verstanden.
Wenns anders sein soll auch kein Problem, den Code kann man ändern. Aber konkrete Frage dazu, oder Bitte.

1. Müssen immer die Daten von Raum Nummer etc. ins andere Blatt kopiert werden, weil diese Raum Nummer noch nicht vorhanden ist? Oder müssen bei vorhandener Raum Nummer die Daten genau dieser Zeile zugeordnet werden??
2. Was genau soll den vom Sheet "Last" in welche anderen Sheets, und vor allem in welche Spalten kopiert werden?

Am besten wäre eine kleine Beispieldatei, mit 5-10 Zeilen, wo du mir die Lösung von Hand vorgibst. Farblich markiert.
Wenn ich den Tabellenaufbau und den Sinn des kopierens verstehe kann ich das auch so programmieren.

mfg Piet
Anzeige
AW: Tabellenblattdaten automatisiert übertragen
15.01.2024 14:03:27
Mazze
Hallo Piet,

vielen Dank für deine Rückmeldung. Gerne konkretisiere ich die Nachfrage nochmal und wäre dir sehr dankbar wenn du den Code entsprechend anpassen könntest.

1. Ja die Raumdaten müssen jeweils aus dem Blatt "Last" in die anderen Blätter übernommen werden. Eine vorhandene Raumnummer oder ähnliches gibt es in den anderen Blätter sonst nicht, und es sollen hier eben auch nur die Raumdaten auftauchen bei denen ein Wert in den Spalte R-U im Blatt Last steht.
2. Es sollen die Daten aus dem Spalten B-F übertragen werden. Ich habe diese jeweils blau markiert. In den Zieltabellen sollen diese einfach von oben nach unten aufgelistet werden, beginnend in Zeile 2.

Außerdem kann es auch Fälle geben, bei denen die Raumdaten in mehrere Blätter übertragen werden müssen, als Beispiel hier die letzte Zeile im Blatt Last, die sowohl in das Blatt HKD, als auch ins Blatt HK übertragen werden soll, allerdings jeweils nur mit der Leistung aus der zugehörigen Spalte (für HKD Spalte R+S, für HK Spalte T)

Anbei die fortgeschrieben Liste mit den genannten Ergänzungen.
https://www.herber.de/bbs/user/166089.xlsx

Gruß Mazze
Anzeige
AW: Tabellenblattdaten automatisiert übertragen
22.01.2024 11:07:53
Mazze
könnte mir noch jemand hiermit helfen?
AW: Tabellenblattdaten automatisiert übertragen
11.01.2024 13:16:52
Mazze
Userbild

Userbild

Hallo Armin,
hier ein Beispiel. Die Daten aus dem Blatt "Lastdeckung" sollen in das Blatt "HKD" überschrieben werden, wenn in den Spalten V/W etwas eintragen ist.
Gruß Mazze
was sollen wir mit Bildern? owT
11.01.2024 13:30:56
Uduuh

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige