Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1424to1428
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
Tabelle füllen und fortschreiben.
19.05.2015 16:25:50
Ralf
Hallo zusammen,
die ewige Baustelle "Zeiterfassung".
Ich möchte aus der Arbeitsmappe "Zeiterfassung" die Werte in die Arbeitsmappe "Auswertung" übertragen und fortschreiben.
Es müssen zwei Arbeitsmappen sein, weil ich die Arbeitsmappe "Zeiterfassung" immer nach der Eingabe ohne zu speichern schließen lassen werde (per Schaltfläche 1). Dieser Button bewirkt noch ein paar andere Dinge, aber eines habe ich noch nicht raus:
Wie lasse ich mit Betätigung des Buttons die Werte der Felder F7, F10, F13 und H7 automatisch in die Felder A*, B*, C*, D* der Arbeitsmappe "Auswertung" schreiben und zwar so, dass mit jedem Eintrag eine neue Zeile begonnen wird, sich die Liste also automatisch nach unten hin füllt? Und dann sollte die Arbeitsmappe "Auswertung" idealerweise automatisch gespeichert und geschlossen werden (das bekomme ich aber wahrscheinlich ohne Hilfe hin).
Danke vorab
Ralf
https://www.herber.de/bbs/user/97720.xlsx
https://www.herber.de/bbs/user/97721.xlsx

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabelle füllen und fortschreiben.
19.05.2015 20:43:05
Nepumuk
Hallo,
teste mal:
Option Explicit

Public Sub Daten_übernehmen()
    Dim objWorkbook As Workbook
    Dim lngNextEmptyRow As Long
    If Not IsEmpty(Range("F7").Value) And Not IsEmpty(Range("F10").Value) And _
        Not IsEmpty(Range("F13").Value) And Not IsEmpty(Range("H7").Value) Then
        Set objWorkbook = Workbooks.Open(Filename:="C:\Auswertung.xlsx") 'anpassen !!!!!
        If Not objWorkbook.ReadOnly Then
            With objWorkbook.Worksheets("Auswertung") 'anpassen !!!!!
                lngNextEmptyRow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
                .Cells(lngNextEmptyRow, 1).Value = Range("F7").Value
                .Cells(lngNextEmptyRow, 2).Value = Range("F10").Value
                .Cells(lngNextEmptyRow, 3).Value = Range("F13").Value
                .Cells(lngNextEmptyRow, 4).Value = Range("H7").Value
            End With
            Call objWorkbook.Close(SaveChanges:=True)
            Call ThisWorkbook.Close(SaveChanges:=False)
        Else
            Call MsgBox("Daten können nicht gespeichert werden." & vbLf & vbLf & _
                "Bitte nochmal versuchen.", vbExclamation, "Hinweis")
        End If
    Else
        Call MsgBox("Bitte erst alle Felder audsfüllen.", vbExclamation, "Hinweis")
    End If
End Sub

Gruß
Nepumuk

Anzeige
AW: Tabelle füllen und fortschreiben.
20.05.2015 10:47:05
Ralf
Hallo Nepumuk,
leider nein, leider gar nicht. :-)
Ich habe den Pfad und den Namen der Tabelle angepasst, erhalte auch keine Fehlermeldung. Aber es findet keine Füllung der Tabelle "Auswertung" in der Arbeitsmappe "Auswertung.xlsx" statt.
Gruß
Ralf

AW: Tabelle füllen und fortschreiben.
20.05.2015 10:55:13
Nepumuk
Hallo,
ooooooooops. Ändere mal die vier Zeilen zum Übertragen der Daten so:
.Cells(lngNextEmptyRow, 1).Value = ThisWorkbook.Worksheets("EIngabe").Range("F7").Value
.Cells(lngNextEmptyRow, 2).Value = ThisWorkbook.Worksheets("EIngabe").Range("F10").Value
.Cells(lngNextEmptyRow, 3).Value = ThisWorkbook.Worksheets("EIngabe").Range("F13").Value
.Cells(lngNextEmptyRow, 4).Value = ThisWorkbook.Worksheets("EIngabe").Range("H7").Value

Tabellenname anpassen !!!
Gruß
Nepumuk

Anzeige
AW: Tabelle füllen und fortschreiben.
20.05.2015 11:07:15
Ralf
Leider auch nicht.
Ich habe aber dazu zwei Fragen (ich bin ja Anfänger...);
Zum Einen liegt es wahrscheinlich nur an der Aktion, die ich irgendwie definieren muss (Click oder ähnliches), zum Anderen soll ich in die 4 Zeilen die ZIEL Tabelle, oder die QUELL Tabelle eintragen? Quelle wäre ja "Zeiterfassung" und Ziel "Auswertung".
Anbei mal der Code, wie ich ihn jetzt habe. NICHT LACHEN! :-)
Userbild

AW: Tabelle füllen und fortschreiben.
20.05.2015 11:51:21
Nepumuk
Hallo,
die Tabelle heißt "Zeiterfassung" und nicht Auswertung. Du musst der Schaltfläche doch nur per Rechtsklick das Makro zuweisen.
Gruß
Nepumuk

Anzeige
AW: Tabelle füllen und fortschreiben.
20.05.2015 12:13:06
Ralf
Hallo Nepumuk,
danke, das mit der "Zeiterfassung" habe ich eingetragen.
Aber das zuweisen des Makros mit dem Rechtsklick überfordert mich. Ich sagte ja, ich bin absoluter Anfänger.
Wo muss ich rechts klicken? Im Visual Basic, oder auf den Button im Frontend? Wenn ich da rechts klicke, passiert gar nichts.
Wenn ich im Visual Basic rechts klicken soll, dann wo genau? Und was dann auswählen, um zuzuweisen?
Bin ich anstrengend? :-) Tut mir leid.

AW: Tabelle füllen und fortschreiben.
20.05.2015 12:31:44
Nepumuk
Hallo,
na auf den Button in der Tabelle:
Userbild
Gruß
Nepumuk

Anzeige
AW: Tabelle füllen und fortschreiben.
20.05.2015 12:43:02
Ralf
Ähm...
Userbild

AW: Tabelle füllen und fortschreiben.
20.05.2015 12:53:35
Nepumuk
Hallo,
in deiner Mustermappe war eine Formularschaltfläche und das ist ein CommandButton. Da musst du den Code entweder per Call aus dem Click-Event starten oder direkt in das Click-Event einfügen.
Ich hab das nicht so gerne wenn die Muster nicht dem Original entsprechen. Da verliere ich die Lust dir zu helfen. Ich komme mir dabei nämlich verarscht vor. Vor allen Dingen von Leuten die dann keine Ahnung von VBA haben und meinen sie könnten das selber anpassen.
Gruß
Nepumuk

Anzeige
AW: Tabelle füllen und fortschreiben.
20.05.2015 13:09:26
Ralf
Hallo Nepumuk,
ich hatte eine Mustertabelle veröffentlicht, bei denen lediglich die Zellen mit dem Original übereinstimmen.
Das Problem ist, dass die Originale Tabelle im Betrieb ist und dort drin Namen aller möglichen Mitarbeiter stehen, die ich nicht veröffentlichen wollte.
Ich war (vielleicht meiner Anfängerschaft geschuldet) der Meinung, dass ein Muster absolut ausreichend ist, um den Code anschließend in das Original zu übertragen.
Theoretisch funktioniert das ja auch, nur der Button scheint halt anders zu sein. Also bitte nicht "verarscht" fühlen. Ich bin ja dankbar für deine Hilfe und versuche daraus zu lernen. Wenn ich VBA könnte, müsste ich nicht nerven.
Gruß
Ralf

Anzeige
AW: Tabelle füllen und fortschreiben.
20.05.2015 15:13:02
Ralf
Jetzt läuft es. Ich habe den Button in der Originaldatei gegen ein Makrotaugliches Exemplar ausgetauscht und deine Codes übertragen und angepasst. Super. Danke dafür!
Eins habe ich aber trotzdem noch: Nach beenden muss jetzt noch die Application "Excel" manuell mit dem "X" oben rechts beendet werden. Kann ich das noch irgendwie abstellen? Mit "application.quit", nehme ich an. Aber wie?
Der Code sieht jetzt so aus:
Option Explicit
Sub Schaltfläche3_Klicken()
Dim objWorkbook As Workbook
Dim lngNextEmptyRow As Long
If Not IsEmpty(Range("F7").Value) And Not IsEmpty(Range("H7").Value) Then
Set objWorkbook = Workbooks.Open(Filename:="G:\Teiledienst\AZ\Auswertung.xlsx")
If Not objWorkbook.ReadOnly Then
With objWorkbook.Worksheets("Auswertung")
lngNextEmptyRow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
.Cells(lngNextEmptyRow, 1).Value = ThisWorkbook.Worksheets("Zeiterfassung"). _
Range("F7").Value
.Cells(lngNextEmptyRow, 2).Value = ThisWorkbook.Worksheets("Zeiterfassung"). _
Range("F10").Value
.Cells(lngNextEmptyRow, 3).Value = ThisWorkbook.Worksheets("Zeiterfassung"). _
Range("F13").Value
.Cells(lngNextEmptyRow, 4).Value = ThisWorkbook.Worksheets("Zeiterfassung"). _
Range("H7").Value
End With
Call objWorkbook.Close(SaveChanges:=True)
Call ThisWorkbook.Close(SaveChanges:=False)
Else
Call MsgBox("Daten können nicht gespeichert werden." & vbLf & vbLf & _
"Bitte nochmal versuchen.", vbExclamation, "Hinweis")
End If
Else
Call MsgBox("Bitte erst alle Felder audsfüllen.", vbExclamation, "Hinweis")
End If
End Sub

Anzeige
AW: Tabelle füllen und fortschreiben.
20.05.2015 15:16:33
Nepumuk
Hallo,
ersetzen diese Zeile:
Call ThisWorkbook.Close(SaveChanges:=False)
durch diese beiden:
ThisWorkbook.Saved = True
If Workbooks.Count = 1 Then Application.Quit Else ThisWorkbook.Close
Gruß
Nepumuk

AW: Tabelle füllen und fortschreiben.
20.05.2015 15:24:08
Ralf
Top! Danke!

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige