Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
472to476
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
472to476
472to476
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Daten von einer Tabelle in eine andere

Daten von einer Tabelle in eine andere
21.08.2004 00:26:52
einer
wenn ich im Tabellenblatt „Wocheneinsatzplan“ in den Zeilen 4,7,10,13,16,19,22,25,28,31, und 34 ein „k“ für krank, oder ein „u“ für urlaub eingebe, sollte dieser Eintrag unter dem Datum und der dazu gehörenden Person
(anhand des Namenskürzel, z.B in Zeile 6 ist das GW)
im Tabellenblatt „Daten“ auch unter diesen Datum und des Namenskürzel erscheinen.
Dieses sollte sofort nach der Eingabe geschehen, ohne irgend eine Schaltfläche zu tätigen.
Die Einträge im Tabellenblatt „Daten“ sollen auch dort stehen bleiben, wenn sich andere
Datumsangaben im Tabellenblatt „Wocheneinsatzplan“ befinden.
(Denn die ändern sich ja nach jeder Woche)
Hier ist meine Datei: https://www.herber.de/bbs/user/9896.xls
Oh man, ich hoffe einer macht sich die Mühe um mir damit zu helfen, da ich außer
Makros nichts von VBA verstehe.
Ich danke Euch
Gruß
Isabell

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

Betreff
Datum
Anwender
Anzeige
AW: Daten von einer Tabelle in eine andere
21.08.2004 10:21:49
einer
Hallo Isabell,
probier mal in der Beispieldatei, ob es das war was du suchst.
https://www.herber.de/bbs/user/9898.xls
Du machst die Eingaben in den gewünschten Zeilen 4,7 usw. im Blatt "Wocheneinsatzplan" und danach werden im Datenblatt die entsprechenden Eintragungen automatisch erzeugt.
Gruss
Michi
AW: Daten von einer Tabelle in eine andere
21.08.2004 10:42:32
einer
Übrigens, falls es dich interessiert:
der Code besteht aus zwei Prozeduren:
Wird im Blatt "Wocheneinsatzplan" das Worksheet_Change-Ereignis ausgelöst (also der Nutzer verändert den Inhalt des Tabellenblatts) wird folg. Prozedur durchlaufen:


Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
    
    
Dim zeilen As Long
    
Dim spalten As Long
    
Dim zelle As Range
    
Dim i As Long
    
Dim t As Integer
    
    zeilen = Target.Rows.Count - 1
    spalten = Target.Columns.Count - 1
    
    
For i = 0 To zeilen
        
For t = 0 To spalten
            
Set zelle = ActiveSheet.Cells(Target.Rows(i + 1).Row, Target.Columns(t + 1).Column)
            
If zelle.Row Mod 3 = 1 And zelle.Column > 2 And zelle.Column < 10 Then
                
Call Eintragung _
                                 (Worksheets(
"Daten"), _
                                 zelle.Value, _
                                 ActiveSheet.Cells(zelle.Row + 2, 1), _
                                 ActiveSheet.Cells(2, zelle.Column))
            
End If
        
Next t
    
Next i
    
    
End Sub 

Aus dieser Prozedur wird heraus wird dann die folg. Prozedur aufgerufen:


Option Explicit
Public Sub Eintragung(ByRef ws As Worksheet, ByVal strInhalt As StringByVal strNamenskuerzel As StringByVal dDatum As Date)
    
    
'Diese Werte ggf. nach evtl. Änderung der Tabellenblattstruktur von Blatt "Daten" anpassen
    Const Titelzeile = 4
    
Const StartSpalte = 4
    
Const SpalteDatumswert = 1
    
Dim Startdatum As Date
    
Dim Zeilennummer As Long
    
Dim i As Integer
    
    
'Erstes Datum im Datensheet ermitteln
    Startdatum = ws.Cells(Titelzeile + 1, SpalteDatumswert)
    
    
'Zeilennummer für Datumszeile ermitteln
    If dDatum - Startdatum >= 0 Then
        Zeilennummer = Titelzeile + dDatum - Startdatum + 1
    
Else
        MsgBox "Bitte Datum >= " & Startdatum & " verwenden.", vbOKOnly + vbExclamation, "Meldung"
        
Exit Sub
    
End If
    
    
'Spalte des Namenskuerzels finden
    For i = StartSpalte To ws.Range(ws.Cells(Titelzeile, 255), ws.Cells(Titelzeile, 255)).End(xlToLeft).Column
        
If LCase(strNamenskuerzel) = LCase(ws.Cells(Titelzeile, i)) Then
            ws.Cells(Zeilennummer, i) = UCase(strInhalt): 
Exit For
        
End If
    
Next i
    
End Sub 


Gruss
Michi
Anzeige
AW: Daten von einer Tabelle in eine andere
21.08.2004 10:31:04
einer
Hallo Isabell,
Du kannst es recht einfach lösen, in dem Du wie folgt vorgehst:
Zunächst einmal würde ich Dir raten,die Reihenfolge der Namen im Blatt Daten mit der Reihenfolge der Namen im Blatt Wocheneinsatzplan anzupassen... ?!?
Ich habe jetzt aber mal die Lösung auf den Ist-Zustand bezogen .. außerdem habe ich erst ab dem 28.7.angefangen.. richtig so?:
Trage einfach in die Zelle D214 (SB für den 27.8.) des Blattes "Daten" folgende Formel ein :
=WENN(ODER((!Wocheneinsatzplan:C27="K"),(!Wocheneinsatzplan:C27="U"));=(!Wocheneinsatzplan:C27),0)
Da ich 'am Wochenende' zu Hause bin und kein Excel hier installiert habe, offe ich aus dem Kopf heraus die richtig formatierte Formel Dir gepostet zu haben.
Dir ein schönes Wochenende.
Alles Liebe aus Darmstadt,
franz
Anzeige
AW: Daten von einer Tabelle in eine andere
einer
"Trage einfach in die Zelle D214 (SB für den 27.8.) des Blattes "Daten" folgende Formel ein :
=WENN(ODER((!Wocheneinsatzplan:C27="K"),(!Wocheneinsatzplan:C27="U"));=(!Wocheneinsatzplan:C27),0)"
Abgesehen davon, dass die Formelsyntax falsch ist, was zuggegebenermassen ohne Austesten schnell passieren kann, geht das nicht, weil sich die Daten im Wocheneinsatzplan von Woche zu Woche ändern und sich demzufolge auch die Formelwerte im Datensheet entsprechend ändern. Ist in der Form m. E. nicht über Zellbezüge lösbar.
Gruss
Michi

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige