[Visual Basic] Excel Problematik - Abfrage von Daten und einfügen in Tabelle

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von ChrIzZ1337, 28. Januar 2011 .

  1. 28. Januar 2011
    Excel Problematik - Abfrage von Daten und einfügen in Tabelle

    Hey Leute,

    Ich bin Student und habe gerne überblick über meine Finanzen (Einkommen, Ausgaben etc)

    Nun habe ich eine simple Excel-Tabelle erstellt, die die fixen Ausgaben beinhaltet, das Fixe einkommen und auch die Variablen Ausgaben + Arbeitszeit-Tabelle * Stundenlohn.

    Das ganze habe ich mit einfachen mathematischen Mitteln mitienander verknüpft, sodass ich das Saldo monatsweise errechne.

    Nun habe ich mir gedacht, das ganze mit Eingabefelden bzw Abfragen zu gestalten.

    Ich dachte an eine graphische Oberfläche ohne Tabellen, wo einfach Eingabefelder eingebaut sind die die Variablen:
    - Ausgaben die nicht fix sind
    - Datum des Arbeitens (incl automatischer bestimmung des Wochentags)
    - Anfangsstunde
    - Endstunde

    abfragt und in bestimmte Zellen einfügt, die ja schon mit den o.g. mathematischen Rechenregeln verknüpft sind.

    Außerdem möchte ich dann eine Anzeige haben, wie viel Saldo ich in dem jeweiligen Monat habe.

    Die Oberfläche sollte die Arbeitszeiten untereinander in der Tabelle (auf der Oberfläche unsichtbar, nur in der Tabelle zu sehen) aufschreiben in dem folgenden Format:

    Datum | Wochentag | Anfang | Ende | Stunde | Lohn an dem Tag|

    Also nicht einfach IMMER in die Zelle F3 Datum F4 Wochentag etc ...sonder falls F voll ist, dass der bei G einträgt etc ...


    Wie kann ich das alles hinkriegen? Ist das überhaupt möglich? Da ich mich bei google informiert habe und auf Begriffe wie GUI, embedded, VBA gestoßen bin und diese Begriffe mir zwar was sagen, ich aber technisch gesehen nichts damit anfangen kann, frage ich euch!



    lG Chris
     
  2. 29. Januar 2011
    AW: Excel Problematik - Abfrage von Daten und einfügen in Tabelle

    Mit VBA ist das obengenannte schon möglich, hab selbst schon mit VBA gearbeitet, du musst
    nach Tutorials suchen und dir die Grundlagen aneigenen
     
  3. 29. Januar 2011
    AW: Excel Problematik - Abfrage von Daten und einfügen in Tabelle

    ich muss leider gestehen, dass ich auch vor kurzem erst mit vba angefangen habe, hab dafür aber vorher viele andere sachen programmiert.

    informiere dich mal hier über vba: VBA und Excel. Ein Einstieg @ tutorials.de: Tutorial, Anleitung & Hilfe (alternativ auch einfach mal googleln)

    ich geb dir ein paar kleine hinweise an die hand, wie man das umsetzen könnte, die du mal nachlesen kannst. erfordert vielleicht mal zwei drei minuten zeit, um es nachzuvollziehen, aber ich denke dass vba eine recht leichte programmiersprache ist.

    vorab: du benötigst die entwicklertools (reiter "entwickler-tools"). solltest du diese nicht eingestellt haben, dann bitte vorher einstellen (
    Anzeigen der Registerkarte Entwicklertools oder Ausführen im Entwicklungsmodus - Excel
    )

    ich versuche hier mal ein paar ideen einfließen zu lassen, in der hoffnung, dass ich dich richtig verstanden habe.

    A) zu deinen eingabefeldern: es gibt mehrere möglichkeiten, eingaben abzufragen.


    1) Zellenwert abfragen

    den zellenwert kannst du ganz einfach abfragen, indem du in VBA eine variable (z.B. "eingabe") definierst, der du dann einen zellenwert (z.B. A1) zuweisen kannst. beispiel:

    dim eingabe as single

    eingabe = cells(1,1).value

    'oder'

    eingabe = Range("A1").Value

    das ganze kannst du implementieren, dass du mit einem button-klick die übrigen felder berechnest und füllst


    2) Inputboxen

    mit inputboxen kannst du ebenso eingaben einlesen, ist aber meines erachtens weniger übersichtlich. das machst du mit folgender syntax:

    dim eingabe as single

    eingabe = inputbox("Bitte geben Sie Ihr Einkommen an", "Titel des Fensters", "Vordefinierte Eingabe", [xpos], [ypos]


    3) ActiveX-Steuerelemente

    das ist die graphisch anspruchsvollere variante, die ich persönlich bevorzugen würde, die aber aufwendiger ist als den zellenwert abzufragen. das ganze geht mit ActiveX-Steuerelementen. am einfachsten geht das mit textfeldern, wo du deine zahlen reinschreibst. hier ein beispiel:

    dim eingabe as integer

    eingabe = Textbox1.Text

    auch hier kannst du mit einem button-klick den rest füllen lassen.

    hier musst du gucken, wie die namen der textboxen sind, um den richtigen werd abzufangen. diese werden, wenn du mehrere hast, durchnummeriert (rechtsklick auf das steuerelement > eigenschaften > name). natürlich kannst du auch andere namen vergeben. generell sollte beim programmieren selbsterklärende variablen verwendet werden (eingabe, einkommen, zeit) und kein x,y,z (der nachvollziehbarkeit wegen).

    ich würde dir dir erste methode empfehlen (zellenwertabfrage), da sie für dich am einfachsten umsetzbar ist.


    B) saldoausgabe

    1) in zelle schreiben

    du kannst die ausgabe in die zellen schreiben lassen. dies geht analog wie in A1, nur eben umgekehrt. hast du deinen saldo in VBA berechnet, kannst du in wie folgt in die zelle (hier mal A1) schreiben:

    'vorab saldo berechnen'

    cells(1,1).value = saldo

    'oder'

    Range("A1"). Value = saldo

    2) messagebox

    du kannst auch eine messageboxausgabe machen, was aber nicht ganz übersichtlich wäre. das geht wie folgt:

    MsgBox "Berechneter Saldo" & saldo

    3) ActiveX-Steuerelement

    natürlich kannst du den wert auch wieder in ein textfeld reinschreiben. wenn du interesse daran hast, dann kannst du nochmal nachfragen, ich würde dann wieder helfend zu seite stehen, aber ich denke, B1 ist der beste weg.


    wenn du dich entschieden hast, ein wenig mit vba zu arbeiten und du es damit auch umsetzen möchtest, dann melde dich nochmal bei mir, dann kann man das mit der tabelle ("Datum | Wochentag | Anfang | Ende | Stunde | Lohn an dem Tag|") auch implementieren.

    möglich ist (fast) alles
     
  4. 29. Januar 2011
    AW: Excel Problematik - Abfrage von Daten und einfügen in Tabelle

    VIELEN VIELEN DANK ... ich v ersuche mich da ein wenig durchzufuchsen ... im Studium lernen wir nächstes Semester Java ... und als Kind habe ich ein wenig mit Basic (nicht VBA) auf meinem V-Tech mini-Computer gespielt!

    Danke für die großartige Hilfe!!! Falls ich noch Fragen habe, wende ich mich an dich

    ich mache morgen mal ein Bild, wie das ganze aussehen sollte ... und ne exel tabelle, in welcher form das ganze in die Tabelle eingefügt werden sollte ...

    Interessant wäre auch eine Art Programm, das vllt nicht mit excel arbeitet sondern mit einer eigenen DB. Mit einer grafischen Oberfläche. Ich habe so etwas noch nicht gefunden und denke, dass es eine relativ große Anfrage dafür gibt
     
  5. 30. Januar 2011
    AW: Excel Problematik - Abfrage von Daten und einfügen in Tabelle

    Soooo ich weiß jetzt, dass ich mit den Befehlen

    Code:
    Range("L22").Value = InputBox("Geben Sie das Datum ein", "Ihre Auswahl")
    etwas abfragen kann und in das besagte Feld L22 einfügen kann...

    so nun möchte ich, dass der nicht immer in L22 einfügt, sondern automatisch wenn das Feld voll ist, das Feld darunter nimmt...

    ich vermute mal, dass das ganze mit einer if then else bedingung zu lösen ist?
     
  6. 30. Januar 2011
    AW: Excel Problematik - Abfrage von Daten und einfügen in Tabelle

    if-abfrage ist korrekt. wenn die zellen leer sind, dann kannst du das wie folgt machen:

    1) einlesen des wertes der zelle (zb A1) in VBA

    dim wert as string 'WICHTIG: Als STRING deklarieren, nicht Integer'

    wert = Range("A1").Value

    'oder'

    wert = Cells(1,1).Value

    2) den inhalt prüfen mit if-abfrage

    if wert <> "" Then
    'Anweisung'
    Else
    'Anweisung'
    End If

    problem für mich an der ganzen sache: ich weiß nicht wie du arbeitest. schreibst du den wert, den du einlesen willst, immer in die gleiche spalte? dann könnte man das ganze mit einer do-loop-schleife durchlaufen lassen. beispiel:

    du schreibst deine werte, die du einliest, immer in die gleiche spalte (bspw b), dann kannst du folgendes machen:

    dim wert as string
    dim counter as integer
    dim eingabe as integer 'ist deine eingabe eine zahl? dann integer, wenn text, dann string'

    counter = 1
    eingabe = InputBox("Geben Sie das Datum ein", "Ihre Auswahl") 'Hier wird deine eingabe vorerst eingespeichert, also noch nicht in eine zelle geschrieben'


    do
    wert = Cells(1,counter).Value 'Hier lasse ich eine Variable hochzählen, die Die zellen der Spalte b auf inhalt abfragt'

    if wert <> "" Then ' <> bedeutet "ungleich", also "mit inhalt versehen"'
    counter = counter + 1
    Else
    Cells(1, counter).Value = eingabe
    exit do
    End If
    loop until wert = ""

    'die schleife durchläuft jetzt jede zelle der spalte b, bis er eine zelle findet, die noch nicht besetzt ist, und schreibt da deinen eingelesenen wert rein'

    das ganze ist auf die schnelle ausgedacht und ungetestet, speicher dein projekt lieber vorher ab. aber eigentlich sollte es keine probleme geben. wenn doch, nochmal melden.

    wenn du weitere fragen hast, ich stehe gerne zur verfügung
     
  7. 31. Januar 2011
    AW: Excel Problematik - Abfrage von Daten und einfügen in Tabelle

    so habe ich mri das Vorgestellt Ich habe auf jeden Fall einen Plan, was ich will Aber die Basics sitzen halt nicht - aufgrund von einer Beschäftigung mit VBA über nur 2 Tage ^^ Danke Vielmals! SO von meinem logischen Verständnis ist das auf jeden Fall gut und richtig ich probier das gleich mal aus.

    Weitere Frage: Kann ich diese InputBox auch mithilfe eines BUttons starten?

    Im Prinzip nur ein Schwarzes Bild mit ein Paar Buttons, die jeweils ne InputBox öffnen.
     
  8. 31. Januar 2011
    AW: Excel Problematik - Abfrage von Daten und einfügen in Tabelle

    mit nem button is das auch machbar. den kannst du wie folgt einfügen:

    1) registerkarte "entwicklertools" anwählen
    2) auf "einfügen" klicken
    3) dann unter "ActiveX-Steuerelement" (NICHT formularsteuerelement) "befehlsschaltfläche" wählen (vorletzte reihe links)

    wenn du das gemacht hast, dann bekommst du einen "kreuz"-cursor. dann einfach auf das sheet klicken und den button "aufziehen". größe ist erstmal egal, denn du kannst die wie folgt einstellen:

    1) rechtsklick auf den button, den du eben aufgezogen hast
    2) "eigenschaften" klicken (bei mir das 4. von oben)
    3) werte formatieren. diese haben folgende aussagen:

    - "(Name)": Ist der Text, der im button steht (hier sind leerzeichen möglich)
    - "caption": ist der name, wie er im vba auftaucht (hier sind keine leerzeichen möglich)
    - "height": ist die höhe des buttons
    - "left": ist der abstand zum linken bildrand
    - "top": ist der abstand vom oberen bildrand
    - "wordwrap": zeilenumbruch zulassen (true) oder nicht (false)
    - "font": schrift formatierung. wenn du in das feld neben font klickst, kannst du die schriftart, sowie größe und eigenschaften (fett, kursiv,..) einstellen, wenn du auf den button "..." klickst

    den rest kannst du ja mal ausprobieren.

    als anfänger solltest du aber die "caption" des buttons vorher setzen, bevor du weiter machst. denn als nächstes machst du es wie folgt:

    kontrolliere, dass der "entwurfsmodus" eingeschaltet ist (der button neben "einfügen" in der registerkarte "entwicklertools". dann machst du einen doppelklick auf den erstellten button, und die vba-umgebung öffnet sich. jetzt kannst du ganz normal deinen quelltext hier einfügen mit

    eingabe = inputbox("Text", "Titel")

    jetzt hast du aber vielleicht das problem, dass du zwei "subs" hast, bspw der erste, den du eben mit dem button generiert hast und deinen bisherigen

    Private Sub CommandButton1_Click()
    dim eingabe as integer

    eingabe = inputbox("Text", "Titel")

    End Sub

    Private Sub Dein_urspuenglicher_Sub ()
    'Anweisungen'
    End Sub


    jetzt wird bei button-klick nur der erste teil ausgeführt, der zweite teil nicht. das kannst du beheben, indem du deine anweisungen aus dem zweiten sub in den ersten reinschreibst und den zweiten löschst, oder du machst es auf eine elegantere, tiefgreifende art und weise, nämlich mit variablenübergabe und call. das sieht wie folgt aus:


    Private Sub CommandButton1_Click()
    dim eingabe1 as integer
    dim eingabe2 as integer

    eingabe1 = inputbox("Text", "Titel")
    eingabe2 = inputbox("Text", "Titel")

    call Dein_urspuenglicher_Sub(eingabe1, eingabe2)

    End Sub

    Private Sub Dein_urspuenglicher_Sub (ByVal eingabe1 as integer, ByVal eingabe2 as integer)
    'Anweisungen'
    End Sub

    wie du siehst, kannst du in die klammern was reinschreiben und übergeben. vergleich mal die beiden darstellungen, also die obere und die mit der übergabe, dann wirst du schon sehen, wo der unterschied ist wenn nicht, einfach nochmal fragen.

    nochmal zu "ByVal" und "ByRef" (hat mich als anfänger auch zur verzweiflung gebracht -.-). (du kannst in die klammer statt ByVal auch ByRef schreiben)

    - ByVal: übergibt den wert an die andere Prozedur ("Sub"), das original bleibt aber unberührt (value = wert)

    - ByRef: übergibt einen verweis an das original. alles, was du in der aufgerufenen prozedur mit der variable machst, hat auch auswirkungen auf die ursprüngliche. (ref = reference = verweis)

    sollte das nicht verstanden sein, kann ich dazu auch noch ein beispiel bringen.

    wenn du dein geschriebenes mit dem button ausprobieren willst, dann musst du den entwurfsmodus (wo der is, hab ich oben schon beschrieben) wieder ausschalten (also sollte der nicht mehr orange hinterlegt sein). dann sollten eigentlich die inputboxen kommen, wenn du auf den button klickst.

    das sollte für den anfang erstmal reichen

    bei weiteren fragen steh ich wie immer ganz flott zur verfügung
     
  9. 31. Januar 2011
    AW: Excel Problematik - Abfrage von Daten und einfügen in Tabelle

    Hmmm ich komme noch nicht ganz mit bei dem Buttoncode...

    Also
    Code:
    Private Sub CommandButton1_Click()
    dim eingabe1 as integer
    dim eingabe2 as integer
    
    eingabe1 = inputbox("Text", "Titel")
    eingabe2 = inputbox("Text", "Titel")
    
    call Dein_urspuenglicher_Sub(eingabe1, eingabe2)
    
    End Sub
    
    Private Sub Dein_urspuenglicher_Sub (ByVal eingabe1 as integer, ByVal eingabe2 as integer)
    'Anweisungen'
    End Sub
    heißt für mich, dass ich erst eingabe 1 und 2 definiere als integer. Dann definiere ich das ganze durch die INputBox.

    Wofür das "call" ist und der 2te Privare Sub ist mir noch fern.

    Bzw ... ist das so, dass ich durch das call die variablen, die vorher bestimmt wurden (eingabe 1 und 2) einfach in den nächsten sub reinpacke?

    Und im 2ten Sub lass ich dann den Prozess des "eintragens der Werte in die Tabelle" machen?



    Ich hatte nun an der Uni im 1. Semester Grundlagen von Java mithilfe von JavaKara... Dort habe ich gelernt, dass es "void" und "public void" gibt. Ich denke mal, dass man das normale "void" als "private Sub" und das "public Void" als "Public Sub" verstehen kann, also als Programm und Unterprogramm?

    Bisher bestehen die Codes ja nur aus Private Subs ... verwundert mich etwas
    ______________________________________________________________________________

    Code:
    Private Sub CommandButton1_Click()
    Dim Datum As String
    
    Datum = InputBox("Geben Sie das Datum an", "Frage")
    
    
    Call Datum_Sub(Datum)
    End Sub
    Private Sub Datum_Sub(ByVal Datum As String)
    
    Dim wert As String
    Dim counter As Integer
    'Dim Datum As String 'ist deine eingabe eine zahl? dann integer, wenn text, dann string''
    
    counter = 1
    
    Do
    wert = Cells(1, counter).Value 'Hier lasse ich eine Variable hochzählen, die Die zellen der Spalte b auf inhalt abfragt'
    
    If wert <> "" Then ' <> bedeutet "ungleich", also "mit inhalt versehen"'
    counter = counter + 1
    Else
    Cells(1, counter).Value = Datum
    Exit Do
    End If
    Loop Until wert = ""
    
    End Sub
    
    So das ist jetzt mein Code und beim klicken auf den Button geschieht nichts...

    ich habe die Variablen im ersten Private SUb definiert ... im 2ten verarbeitet ... ich sehe so auch keine logischen Fehler eigentlich. Trotzdem funktioniert es nicht =/


    ________________________
    SO ich sehe einen Fehler: wir haben den counter = 1 gesetzt. Nun ist bei jedem durchlauf der counter 1 +1 wenn die Zelle A1 belegt ist. SO setzt er immer auf B1 neue Inhalte, geht aber nicht weiter... könnte man da nicht eine while schleife rienpacken?

    Also nicht "Wenn A1 besetzt, dann gehe 1 nach rechts/unten what ever", sondern "Gehe so lange nach rechts, bis eins frei ist, also solange beim rechts gehen keins frei ist, gehe weiter"


    Ich las im Internet was von x1Row ... das habe ich nicht ganz verstanden
    ______________________

    Laufzeitfehler 6
    Code:
    wert = Cells(1, counter).Value 
     
  10. 31. Januar 2011
    AW: Excel Problematik - Abfrage von Daten und einfügen in Tabelle

    jetzt, wo es in den inhalt deines programmes geht, wird ein bisschen schwer für mich nachzuvollziehen, wo die probleme liegen, weil ich deinen quelltext nicht kenne.

    wär es möglich, dass du mir deinen quelltext postest, damit ich dir daran das erklären kann?

    dann wär es für mich einfacher zu entscheiden, ob ich näher auf die parameterübergabe und den zwei prozeduren eingehe, oder ob ich dir helfe, alles in eine prozedur reinzupacken.

    --------------------

    edit auf deinen edit:
    kannst du die excel-datei mal auf xup.in hochladen? nur theorie aufs papier machts da doch ein wenig schwer. wenn ichs vor mir hab, bekomm ich die fehler fix wieder raus
     
  11. 31. Januar 2011
    AW: Excel Problematik - Abfrage von Daten und einfügen in Tabelle

    Ich will halt mehrere buttons machen ... habe bisher nur deine Methoden angewandt, um halt ein wenig zu lernen und nachvollziehen zu können, wie welche abläufe geschehen...

    also mein kompletter Text für EINEN Button (ich würde einfach für jeden Button an sich einen einzelnen Text machen nur mit anderen variablen und Zeilen

    Code:
    Private Sub CommandButton1_Click()
    Dim Datum As String
    
    Datum = InputBox("Geben Sie das Datum an", "Frage")
    
    Call Datum_Sub(Datum)
    
    End Sub
    Private Sub Datum_Sub(ByVal Datum As String)
    
    Dim wert As Integer
    Dim counter As Integer
    'Dim Datum As String <--- [b]das muss ja eigentlich nicht dahin, weil ich das oben schon definiert habe oder?[/b]'
    
    counter = 1
    
    Do
    wert = Cells(1, counter).Value 
    
    If wert <> "" Then 
    counter = counter + 1
    Else
    Cells(1, counter).Value = Datum
    Exit Do
    End If
    Loop Until wert = ""
    
    End Sub
    
    das ist bisher quelltext ... auf den Button drücken funktioniert nicht.
     
  12. 1. Februar 2011
    AW: Excel Problematik - Abfrage von Daten und einfügen in Tabelle

    Private Sub CommandButton1_Click()
    Dim Datum As String

    Datum = InputBox("Geben Sie das Datum an", "Frage")

    Call Datum_Sub(Datum)

    End Sub

    Private Sub Datum_Sub(ByVal Datum As String)

    Dim wert As String 'Hier muss STRING stehen, kein integer, daher kam der fehler'
    Dim counter As Integer
    'Datum muss hier nicht Dimensioniert werden, da es oben in der klammer steht'

    counter = 1

    Do
    wert = Cells(counter, 1).Value

    If wert <> "" Then
    counter = counter + 1
    Else
    Cells(counter, 1).Value = Datum
    Exit Do
    End If
    Loop Until wert = ""

    End Sub

    'jetzt läuft das auf spalte a abwärts'
    'wenn du das ganze spaltenweise laufen lassen willst, dann musst du statt Cells(counter, 1).Value Cells(1, counter).Value'


    ---------------
    edit:

    was sollen denn deine buttons machen? es wär für mich einfacher, vorschläge zu machen, wenn ich wüsste, was deren aufgabe sein soll.
     
  13. 1. Februar 2011
    AW: Excel Problematik - Abfrage von Daten und einfügen in Tabelle

    Also ich hab grade bei ner Zigarette überlegt...

    Cool wäre:
    1 Button, der abfragt, wie hoch der Stundenlohn ist, das dann in eine Zelle eintragen, auf die die Tabelle zugreift bei der Lohnberechnung.
    1 Button, der nacheinander abfragt: Datum | Wochentag | Anfang | Ende |, das ganze natürlich untereinander also Datum bei A, Wochentag bei B, Anfang bei C, Ende bei D.
    1 Button, der abfragt, was sich an den fixen Ausgaben geändert hat, dann evtl eine Auswahlmöglichkeit(Drop Down oder so), was genau. Das wird MOnat für MOnat in verschiedene Zellen eingetragen, dass ich auch einen Überblick habe, was im Januar Phase war, im Februar, etc.
    1 Button für die flexiblen Ausgaben, der halt in einer Zelle Addiert, was ich so ausgegeben habe. (Auch wieder Monatsweise)


    Ich glaube das war's. Also der Code macht jetzt, was ich möchte. Leider funktioniert der Button nicht. Wenn ich draufklicke, passiert nichts ...

    ________

    Der Button geht nun ... SUPER
     
  14. 1. Februar 2011
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    AW: Excel Problematik - Abfrage von Daten und einfügen in Tabelle

    da sind ja sicherlich auch eingaben dabei, die nicht immer neu gemacht werden müssen, wie beispielsweise der stundenlohn?

    ich mach dir mal eben einen andere, du sagst mir ob du damit einverstanden bist, und ich sag die dann, wie das geht.

    also folgendes:

    statt der ganzen buttons (wenn ich mich nicht täusche, sollen es mindestens 4 sein) würde ich stattdessen mit checkboxen und nur einem button arbeiten. du setzt bei den werten, die du ändern willst, die checkboxen auf true (also haken), dann drückst du auf den button, und es werden nur die werte eingelesen, die du wolltest. natürlich kann man das so einstellen, das du nicht immer erst die boxen anklicken brauchst, die du willst, sondern du kannst z.b. datum, wochentag, anfang, ende, voreingestellt auf true setzen.

    das ganze kann dann so aussehen:

    Bild

    aus meiner sicht is das einfacher zu programmieren, individueller zu steuern und man kann es in eine prozedur reinpacken. zudem ist es auch mit weniger aufwand erweiterbar, falls noch was dazu kommen sollte.

    also wenn du damit einverstanden bist, mach ich mal einen implementationsvorschlag, andernfalls überleg ich mir mal was bezüglich der vielen buttons.
     
  15. 1. Februar 2011
    AW: Excel Problematik - Abfrage von Daten und einfügen in Tabelle

    Das ist natürlich wesentlich Optimaler ... wirklich geile Idee ... dachte nicht, dass das geht Bombe!!! Ich kann mich leider nicht bei dir Bedanken ^^
     
  16. 1. Februar 2011
    AW: Excel Problematik - Abfrage von Daten und einfügen in Tabelle

    ich mache mich im laufe des tages mal an die implementation. bis heute abend solltest du also einen vorschlag haben, den ich dann auf xup hochladen werde, damit sich nicht wieder unbemerkt fehler einschleichen werden.

    welches excel benutzt du? unter 2007?
     
  17. 1. Februar 2011
    AW: Excel Problematik - Abfrage von Daten und einfügen in Tabelle

    2010 ^^

    Danke dafür =)
     
  18. 1. Februar 2011
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    AW: Excel Problematik - Abfrage von Daten und einfügen in Tabelle

    hier der download-link: No File | xup.in

    folgende attrikbute hat das projekt:
    - individuelle eingabe: via checkbox zu entscheiden, welche werte übernommen oder neu eingegeben werden sollen
    - intelligente erkennung: Erkennung ungesetzer werte bei unchecked boxes und fordert zur eingabe auf
    ---> lass das feld d3 leer und den haken bei stundenlohn weg, dann siehst du was ich meine)
    - hinweismeldung, wenn werte nicht gesetzt (leider kein abbruch und intelligente eingabeprüfung)
    - kontrollfunktion via messagebox ("ok" schreibt in tabelle, "abbrechen" bricht ab)
    - das datum wird vorgeschlagen (vordefinierter text, der abgeändert werden kann)
    - der wochentag wird IMMER richtig bestimmt, brauch nur bestätigt werden
    - die arbeitszeit wird in der tabelle automatisch ermittelt
    - intelligente zeitberechnung (kann über 00:00 uhr die zeit berechnen, zb 23:00-02:00 wie bei nachtschicht)
    - der verdienst wird auf basis der arbeitszeit automatisch ermittelt


    folgende attribute hat das projekt nicht:
    - noch keine möglichkeit zum gesamtabbruch der eingabe nach falscher inputbox-eingabe
    - keine intelligente eingabeprüfung: noch keine prüfung, ob eingegebener text dem benötigten format entspricht (kein abfang von falscheingaben)
    - letzte eingabe in die tabelle löschen (muss manuell gemacht werden)

    -----------

    der anfang ist von mir sehr gut kommentiert, zum ende hin hab ich jedoch was das kommentieren angeht, weniger viel gemacht. einfach mal anschauen, bei fragen antworte ich gerne.

    die intelligente zeitberechnung war ein wenig tricky, da muss iche ich ein bisschen knappern, hab aber letztendlich auch ne passable lösung gefunden die über 4 zeilen geht.

    falls du noch funktionen brauchst, die hinzugefügt werden sollten dann sag bescheid

    p.s.: was studierst du denn und wo?
     
  19. 1. Februar 2011
    AW: Excel Problematik - Abfrage von Daten und einfügen in Tabelle

    Ich studiere Informationsmanagement in Hannover ...

    Mit den 10 Euro Stundenlohn warst du aber gnädiger als mein Chef Ich krieg leider nur 6 ^^

    Ich weiß gar nicht, wie ich mich bedanken soll

    Das einzige, was noch fehlt wäre ein Ausgaben-Eingabefeld. Also fixe ausgaben und variable Aber das ist ja Prinzipiell das selbe System ... nur mit anderen benennungen. Und evtl eine Sortierung der Arbeitszeiten nach Datum (chrinologisch) und MOnat (Abrechnungszeitraum).


    Dann muss ich das ganze zusammenrechnen lassen und eine Ausgabe machen (MsgBox )

    lG Chris
     
  20. 1. Februar 2011
    AW: Excel Problematik - Abfrage von Daten und einfügen in Tabelle

    ausgaben is das selbe system, da hast du recht. aber was meinst du mit sortierung nach datum? eigentlich wird es ja schon chronologisch aufgeschrieben, wenn du denn die eingabe auch chronologisch machst, wovon ich aber ausgehe ^^ was amn machen kann ist eine implementation, dass er, wenn ein neuer monat angefangen wird, den monat in irgendeiner art und weise abschließt, also summe bilden und mit den ausgaben verrechnen, dann eins zwei zeilen frei lässt und neu anfängt. das kann ich aber erst machen wenn meien klausuren rum sind, also in einer woche

    probier mal die sache mit den ausgaben umzusetzen, ist eigentlich nur copy-paste und ein wenig anpassen. wenn du verständnis-probleme hast, dann helf ich gerne, ansonsten kann ich leider erst wieder eine auf deine bedürfnisse angepasste version am ende nächster woche anbieten :-/
     
  21. 1. Februar 2011
    AW: Excel Problematik - Abfrage von Daten und einfügen in Tabelle

    Wenn du mit programmieren bissher so wenig am Hut hattest sollte Access genau das richtige dafür sein.
     
  22. 2. Februar 2011
    AW: Excel Problematik - Abfrage von Daten und einfügen in Tabelle

    mit chronologisch meine ich, dass ich auch sachen aus dem Januar eintrage... oder mal was vergesse und dann nachtrage etc pp...

    ja genauso mit dem monatsabschluss meinte ich das ...

    ich versuch mich mal dran ...
     
  23. 2. Februar 2011
    AW: Excel Problematik - Abfrage von Daten und einfügen in Tabelle

    das mit dem nachtrag und dem chronologischen nachtrag ist auch machbar. bedarf zwar vorab ein wenig theoretischer planung, sollte aber relativ simpel umzusetzen sein.

    ich setz mich in einer woche mal dran
     
  24. 2. Februar 2011
    AW: Excel Problematik - Abfrage von Daten und einfügen in Tabelle

    danke

    ich recherchier auch mal in Internet ... das ist ja Prinzipiell auch nur eine IF Then Else abfrage ...

    If Datum, das eingegeben wurde < Datum das da steht, gehe hoch, schiebe alles nach unten und trage ein
    else trage normal unten drunter ein ... oder nicht? Natürlich gehört da ein wenig mehr zu (das mit dem nach unten schieben sollte schwer sein)
     
  25. 3. Februar 2011
    AW: Excel Problematik - Abfrage von Daten und einfügen in Tabelle

    grob würde das in meinen augen im optimalen fall auf keinen großen quelltext rauslaufen. wie du richtig sagtest, mit einer if-schleife das datum vergleichen und gucken, wo dein neuer eintrag hinkommen müsste, dann von da an erstmal alle zeilen bis zum ende durchzahlen und mit einer for-schleife folgende schritte implementieren:
    0) einlesen der neuen werte, die hinzugefügt werden sollen
    1) zeile 1: einlesen der aktuellen zeile in hilfsvariablen
    2) zeile 1: eintragen der eingegebenen werte aus 0) in aktuelle zeile
    3) zeile 2: einlesen der aktuellen zeile in hilfsvariablen
    4) zeile 2: eintragen der eingelesenen werte aus zeile 1 (schritt 1)
    5) zyklus beginnt bei 1 erneut, bis for-schleife durchlaufen, also alle zeilen eine zeile nach unten kopiert wurden

    wie immer ist es hier das detail, was den quelltext wachsen lässt. was soll beispielsweise geschehen, wenn du aus versehen schon ein bestehendes datuim eintragen willst? zudem muss man erstmal implementieren, wie die monate abgeschlossen werden sollen, also in eine spalte daneben (einfachste weg) oder in eine zeile darunter?
     
  26. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.