Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1884to1888
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

Sicherheitszeile in Datenbank kopieren

Sicherheitszeile in Datenbank kopieren
04.06.2022 16:36:33
christoph
Guten Abend Zusammen
Ich habe die Aufsicht für eine Datenbanktabelle bekommen. Da dieses fortlaufend geändert wird, sehe ich die Probleme schon auf mich zukommen. Da keiner mehr weis,
was geändert wurde. Die Lösung habe ich, bei der Umsetzung happeret es mit dem Makrorekorder.
Die Vergleichszeile für die manuelle auswertung habe ich geschrieben, Zeile 2 bis 6
Ich möchte das die ganze aktive Zelle in ein weiteres Tabellenblatt "Verlauf" kopiert wird. In vier weiteren Spalten werden Zeit und Änderung gespeichert.
Die Indexspalte würde ich manuell über eine MSG Box eingeben. Das ganze kann im Hintergrund laufen.
Wer kann mir das Aufsetzen ?
Hier mein scriptische Befehlskette, Ab Tabelleenblatt "Türliste"
1. Aktive Zeile kopieren (Bereich A:Z)
2. Wechsel unter in Tabellenblatt Verlauf; Cursor auf Zelle E9
- Zeile einfügen, nach unten verschieben (Ganze Zeile gibt Fehlermeldung, sonst Aktive Zeile von A:Z
- Formatierung beibehalten
3. Zeile A9
- Einfügen aktuelles Datum
4. Zeile B9
- Einfügen vom Text in Zeile 1 der aktiven Zelle (wäre ja immer noch im Tabellenblatt Türliste (automatischer Index)
5. Zeile C9 (Wäre ja jetzt die neue Zeile)
- MSG-Box mit Möglichkeit zur eintragen Text -> OK Taste
- (Falls keinen Umtrieb: Titel MSG-Box "Text in Zeile 1 der aktiven Zelle" & automatisch übertragen"
6. Zeile D9 (Wäre ja jetzt die neue Zeile)
- MSG-Box mit Möglichkeit zur eintragen Text -> OK Taste
(5+6 kann nach Möglichkeit auch in eine MSG-Box gefasst werden)
Es würde mich sehr freuen, wenn wir das zum laufen bringen würden.
Im Anhang die gekürzte Fassung
https://www.herber.de/bbs/user/153419.xlsm
Euch noch schöne Pfingsten, falls es welche gibt
Chregu

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sicherheitszeile in Datenbank kopieren
04.06.2022 20:49:30
Piet
Hallo
mit diesem kleinen Makro was bei mir in Modul1 steht kannst du jede aktive Zeile nach Sheet "Verlauf" in Zelle E9 kopieren. Mit einer Msgbox Abfrage vor dem kopieren.
Unklar ist mir was in Zelle B9 und C9 stehen soll? Die Datumzelle A9 stimmt nicht mit der Überschriftszeile für Datum in Spalte C überein. D8 bitte Text korrigieren.
Soll immer in Zeile E9 kopiert werden, oder willst du die Zeile beliebig ändern? Dann muss man eine InputBox für die Zeilen Nummer programmieren.
mfg Piet
Datei nicht erhalten
05.06.2022 09:01:10
Chregu
Hallo Piet
Besten Dank das du dich mit meinem Wunsch/Problem beschäftigst.
Leider habe ich von dir keine Datei downladen können/ gefunden.
Richtig, Titel in Zeile 8 muss ich noch schieben.
Immer ab E9 reicht. Da dann der Datensatz immer nach unten geschoben wird, und sich die die Änderungen von oben nach unten automatisch sortieren.
Gruss und guten Pfingsten,
Anzeige
AW: Sicherheitszeile in Datenbank kopieren
05.06.2022 16:49:14
Piet
Hallo
Sorry, ich sehe gerade das ich vergessen habe das Makro zu senden. Hier ist es. Zum Starten benötigst du noch einen Button.
Den Code kannst du ohne den Text -Sub_Sicherheitszeile_kopieren- in das Codeblatt für Command_Button3 einfügen.
Unklar war mir was nach dem Datum in A9 noch in B9 und C9 eingetragen werden soll? Würde mich freuen wenn es so klappt.
mfg Piet

  • 
    Sub Sichergeitszeile_kopieren()
    Dim Zahl As Integer, ok As Variant
    Dim Vlf As Worksheet, Zeile As Long
    Set Vlf = Worksheets("Verlauf")
    With Worksheets("Türliste")
    Zeile = ActiveCell.Row
    'Prüfen ob Zeilke leer ist?  (Anzahl gefüllte Zellen)
    Zahl = WorksheetFunction.CountA(Rows(Zeile))
    If Zahl = 0 Then MsgBox "Diese Zeile ist leer!": Exit Sub
    ok = MsgBox("Diese Zeile in Sheet Verlauf Zeile 9 kopieren?", vbYesNo)
    If ok = vbNo Then Exit Sub
    On Error Resume Next
    ActiveSheet.AutoFilterMode = False
    .Cells(Zeile, 1).Resize(1, 26).Copy
    Vlf.Range("E9").Insert shift:=xlDown
    Application.CutCopyMode = False
    Vlf.Range("A9").Value = Date
    'Vlf.Range("B9").Value = "Text in  Zeile 1 ?"
    'Vlf.Range("C9").Value = "Was soll hier rein?!
    End With
    End Sub
    

  • Anzeige
    AW: Sicherheitszeile in Datenbank kopieren
    05.06.2022 17:36:58
    Chregu
    Hallo Piot
    Besten Dank mal vorab für den Code; Der funktioniert ja schon herrlich; Besten Dank
    4. Zeile B9
    - Einfügen vom Text von Zeile 1 von der aktiven Zelle wo der Cursor steht(wäre ja immer noch im Tabellenblatt Türliste (automatischer Index)
    Wenn Z.B. Cursor in Tabellenblatt Türliste auf D16 steht. Wäre super wenn der Text in D1 kopiert und im Tabellenblatt B9 eingefügt wird
    (So weis ich das Zeile D geändert wurde, in diesem Fall der: Zugehöriger Raumname)
    5. Zeile C9
    - MSG-Box die aufpoop mit einem Feld für 2 Texte, die in die MSG Box manuell eingetragen werden können.
    1. Textinhalt in C9 einfügen: Titel: ÄNDERUNG
    (Beispieltext von der manueller Eingabe: Raumname hat geändert)
    6. Zeile D9
    Dito oben; kann sogar in der gleichen MSG Box sein wie Eingabe oben
    1. Textinhalt in D9 einfügen: Titel: ZUSTÄNDIGE PERSON Abschluss mit OK Taste
    (Beispieltext der manuellen Eingabe: Hans Muster
    Das wäre dann sehr einfach zum Änderungsverlauf zu Dokumentieren.
    Chregu
    Anzeige
    AW: Sicherheitszeile in Datenbank kopieren
    06.06.2022 08:38:56
    Chregu
    Guten Morgen
    Habe die MSG Box mal aufgezeichent.
    Nach dem Bestätigung mit OK kommt vom Excel noch eine OK Aufforderunge, dieses wäre nicht nötig und
    könnte automatisch quitiert werden
    So stelle ich mir die DOPPELBOX vor:
    https://www.herber.de/bbs/user/153431.jpg
    Gruss
    AW: Sicherheitszeile in Datenbank kopieren
    06.06.2022 13:59:47
    Piet
    Hallo
    schau bitte mal ob diese Beispieldatei deinen Vorstellungen entspricht. Ich benutze hier eine UserForm, es geht auch übedr zwei inputBoxen.
    Wenn dir das Beispiel gefällt kannst du die ja die UserForm in deine Datei exportieren. Würde mich freuen wenn es so einwandfrei klappt.
    https://www.herber.de/bbs/user/153436.xlsm
    mfg Piet
    Anzeige
    Fast geklapt
    06.06.2022 15:17:02
    Chregu
    Hallo Piet
    Besten Dank vorweg für deine unermüdliche Hilfe. Das mit der manuellen Texteingabe klappt hervorragende.
    • Wenn die gesamte Textzeile eingefügt wird (Ab E9) müsste eine ganze Linie eingefügt werden. Sonst überschreibt es mir immer die Spalte A-D
    • Spalte B9 stimmte noch nicht, müsste von aktuellen Standort des Cursor die Zeile 2 vom aktuellen Cursor widergegben werden.
    (Zum Beispiel: "Zugehöriger Raumname" wenn der Cursor z.B. auf D16 steht oder "Lage" wenn der Cursor auf Q 14 steht.
    Ich bin zuversichtlich, dass wir das auch noch hinkriegen :-) und dann kann ich morgen mit dem Ändern starten.....
    Anzeige
    AW: Sicherheitszeile in Datenbank kopieren
    08.06.2022 18:05:06
    Piet
    Hallo
    freut mich das es schon soweit geklapp hat. Teste bitte mal diese Code Änderung. Würde mich freuen wenn es damit passt.
    mfg Piet
  • 
    Private Sub CommandButton2_Click()
    Dim Vlf As Worksheet, Zeile As Long
    Set Vlf = Worksheets("Verlauf")
    If UserForm1.TextBox1.Text = "" Then _
    MsgBox "Änderungs Text fehlt - Bitte angeben!": Exit Sub
    If UserForm1.TextBox2.Text = "" Then _
    MsgBox "Zuständig Name fehlt - Bitte angeben!": Exit Sub
    With Worksheets("Türliste")
    On Error Resume Next
    Zeile = ActiveCell.Row
    ActiveSheet.AutoFilterMode = False
    .Cells(Zeile, 1).Resize(1, 26).Copy
    Vlf.Range("E9").Insert shift:=xlDown
    Vlf.Range("A9:D9").Insert shift:=xlDown    'Neu eingefügt
    Vlf.Range("A9:D9").Value = Empty           'Neu eingefügt
    Application.CutCopyMode = False
    Vlf.Range("A9").Value = Date                     'Datum
    Vlf.Range("B9").Value = ActiveCell.Value         'Raumname/ Lage ** geändert
    Vlf.Range("C9").Value = UserForm1.TextBox1.Text  'Änderungs Text
    Vlf.Range("D9").Value = UserForm1.TextBox2.Text  'Zuständig Name
    End With
    Unload Me
    End Sub
    

  • Anzeige
    AW: Sicherheitszeile in Datenbank kopieren
    11.06.2022 07:57:29
    Chregu
    Hallo Piet
    Langsam aber sicher wird das ja Perfekt :-)
    Eine Zeile müssen wir noch anpassen, in B9 gibt er immer noch den Wert der aktuellen Zelle weiter. müsste aber von
    der aktuellen Zellposition die absolute Zeile 2 wiedergeben werden (DER TITEL)
    Vlf.Range("B9").Value = ActiveCell.Value müsste folgenden Wert ausgeben. Im Excel würde ich diese Formel eingeben.
    =INDIREKT(LINKS(ADRESSE(1;SPALTE(CO9);4;1);LÄNGE(ADRESSE(1;SPALTE(CO9);4;1))-1)&2)
    ACHTUNG: CO9 müsste 2x durch ActiveCELL getauscht werden.
    Hinweis: Egal wo CO9 ist, es wird die Spaltenbezug weiterverwendet.
    Asso wenn das zu aufwändig wird, lassen wir das, ;-)
    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige