Office: Kleine Hilfe bei VBA

Helfe beim Thema Kleine Hilfe bei VBA in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hi Leute ich bin neu Hier und freue mich hier zu sein:) Kurz zu mir ich heiße Roman bin 23 komme aus Münster und bin Student. also ich arbeite seit... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Romankr, 4. Februar 2009.

  1. Romankr Neuer User

    Kleine Hilfe bei VBA


    Hi Leute ich bin neu Hier und freue mich hier zu sein:)
    Kurz zu mir ich heiße Roman bin 23 komme aus Münster und bin Student.

    also ich arbeite seit längeren mit excel und da ich als Hiwi oft viele Daten verarbeiten muss hab ich mich etwas in VBA eingearbeitet (der Mensch ist ja von Natur aus faul).
    So zu meinem Thema :) Ich wollte mir ein kleines Prgramm schreiben aus Spass und um etwas zu üben.
    Eine Einkaufsliste.
    Ich habe meherer Active X Schaltflächen, die wenn man sie anklickt in eine Tabelle die ich schon umformatiert habe Inhalte wie Milch Wasser etc eingeben. Wenn ich jetzt mehrmals klicke addieren sich die Summen:) das hab ich auch noch selber geschafft. Nun brauche ich hilfe bei der sache. Die Elemente sollen sich egal in welcher reihenfolge ich sie klicke untereinander addieren (also wenn ich 2mal milch klicke soll in A1 2 milch stehen und wenn ich jetzt 3 mal auf wasser klicke 3 Wasser in der Zelle darunter. usw).
    Unten seht ich was ich bis jetzt habe so klappt das nur leider gehn die somit immer in eine Definierte Zelle.
    Natürlich Poste ich die Excel nacher wenn sie fertig sein sollte:)
    LG
    Roman

    Private Sub CommandButton27_Click()
    Static x As Integer
    x = x + 1
    Worksheets("Tabelle2").Cells(1, 1) = "" & x & " Aufschnitt"

    End Sub
     
    Romankr, 4. Februar 2009
    #1
  2. miriki Erfahrener User
    Mit dem Ansatz wirst Du nicht sehr weit kommen. Ich schätze, das, was Du vorhast, wird etwas umfangreicher...

    Ich würde vorgehen:

    Wenn ein Button für eine bestimmte Ware geklickt wird, müßte das Makro die bisherige Liste, die ja ggf. auch noch leer sein könnte, durchsuchen, ob die Ware bereits in der Liste steht. Wenn ja, addieren, wenn nein, an die Liste anhängen.

    Das würde bedeuten, mal so ganz grob:
    Code:
    [buttonklick]
    src="Schwarzbrot"
    y=1:x=1
    'cells(y,x).activate
    tst=trim$(cells(y,x).value)
    while (tst<>"")
    
      [vergleichen]
    
      y=y+1
      'cells(y,x).activate
      tst=trim$(cells(y,x).value)
    wend
    if (y<65536) then
    
      [neueintrag]
    
    endif
    
    Mit diesem Schnipsel wird eine Liste von oben bis unten durchlaufen. Voraussetzung ist, daß die Liste lückenlos und (in diesem Fall) in Zelle A1 beginnt. Was genau beim Durchlaufen passieren soll, wird in [vergleichen] bestimmt:
    Code:
    [vergleichen]
      itm=trim$(cells(y,2).value)
      if (itm=src) then
    
        [erhöhen]
    
      endif
    Hier wird der Suchwert aus der Liste genommen (der ja nicht zwingend in der 2. Spalte stehen muß, also hier ggf. anpassen) und mit dem Wert verglichen, nach dem gesucht wird. Bei Übereinstimmung wird [erhöhen] ausgeführt.
    Code:
    [erhöhen]
        cnt=cells(y,1).value
        cnt=cnt+1
        cells(y,1).value=cnt
        y=65535
    Bei Übereinstimmung wird die Anzahl (hier Spalte 1, also auch hier ggf. anpassen) um 1 erhöht und an das Ende des Tabellenblatts (naja, zumindest bis Excel 2003) gesprungen. Sinn der Aktion ist, daß im nächsten Schleifendurchlauf dort eine leere Zelle gefunden wird und die Schleife daraufhin abgebrochen wird.

    Nur, wenn jetzt beim Durchsuchen der Liste der Eintrag nicht gefunden wurde, dann steht y auf "Ende der Liste + 1" und ist somit kleiner als 65536. Zumindest gehe ich mal davon aus, daß Dein Einkaufszettel i.a. kleiner als ein Karton Bonrollen aneinandergeklebt ist. ;-) In dem Fall wird dann [neueintrag] durchlaufen:
    Code:
    [neueintrag]
      cells(y,1).value=1
      cells(y,2).value=src
    Wenn Du das jetzt zusammenbastelst (dabei die Zeilen mit [ ] entfernen), dann sollte es eigentlich so in die Richtung gehen, die Du möchtest.

    Wichtig ist eben das anpassen an die äußeren Umstände:

    * y und x bezeichnen die linke obere Ecke der Liste, dabei stehen 1 / 1 für "A1", 3 / 5 wäre dann "E3" usw.

    * in src wird hier der Wert "Schwarzbrot" eingetragen, was natürlich je nach Buttondruck verschieden sein kann. ein anderer Button könnte dann ja für "Milch" usw. zuständig sein.

    * In Spalte 1 wird hier die Anzahl, in Spalte 2 der Name erwartet. Falls da noch Mengeneinheiten (Stück, Liter, Paletten, Tonnen, ...) oder Packungsgrößen zwischen sollen, müßte das auch angepaßt werden.

    Gruß, Michael
     
  3. Romankr Neuer User
    Supper Sache!! Danke:)
    dann werde ich mal etwas weiter rumfummeln und melde mich dann wenn ich es habe:)
    ( Die näachten Tage leider zuvuel für die Uni also kann es noch etwas dauern)
    LG
    Roman!
     
    Romankr, 6. Februar 2009
    #3
Thema:

Kleine Hilfe bei VBA

Die Seite wird geladen...
  1. Kleine Hilfe bei VBA - Similar Threads - Kleine Hilfe VBA

  2. Prozentuale Berechnung UND kleiner als

    in Microsoft Excel Hilfe
    Prozentuale Berechnung UND kleiner als: Hallo, ich suche nach eine Formel für folgende Aufgabe. Drehbuchhonorar ist an das Gesamtbudget geknüpft. Es ist 2,5% des Gesamtbudget darf aber 100.000EUR nicht überschreiten soll aber...
  3. Formel wenn Summe kleiner als null, dann null

    in Microsoft Excel Hilfe
    Formel wenn Summe kleiner als null, dann null: Hallo liebe Community! Ich benötige Hilfe bei der Erstellung einer Formel: G26+G29-G30 (in der Zelle G30 steht minus € 13,20) Wenn die Summe eine kleinere Zahl als Null ergibt, soll in G31 Null...
  4. HILFE !! Die Genauigkeit des Dezimalfeldes ist zu klein

    in Microsoft Access Hilfe
    HILFE !! Die Genauigkeit des Dezimalfeldes ist zu klein: Hallo zusammen, Ich bin mit meinem Latein am Ende !!! Ich habe zur Zeit Access 2003 und ORACLE 9i (Client 9.01, Server 9.2) im Einsatz. Beim Import oder bei der Verknüpfung mit einer ORACLE...
  5. Dringende Hilfe: Kleine Nummern auf Handzettel Powerpoint plötzlich aufgetaucht

    in Microsoft PowerPoint Hilfe
    Dringende Hilfe: Kleine Nummern auf Handzettel Powerpoint plötzlich aufgetaucht: Kennt jemand das Problem? Plötzlich sind auf allen Handzetteln meiner zu druckenden PowerPoint-Präsentation kleine Foliennummern unterhalb der jeweiligen Folie vermerkt. Ich habe alles versucht,...
  6. Kleine Hilfe wegen automatischer Sortierung + automatischer Einfügung

    in Microsoft Excel Hilfe
    Kleine Hilfe wegen automatischer Sortierung + automatischer Einfügung: Hallo Ich habe ein kleines Problem, Zellen automatisch auffüllen zu lassen nach einem bestimmten Schema. Hier mal das Beispiel im Anhang: [ATTACH] Für jeden Namen, werden die darauffolgenden 6...
  7. Dokument wird kleiner als Vorlage ausgedruckt,bitte um Hilfe

    in Microsoft Word Hilfe
    Dokument wird kleiner als Vorlage ausgedruckt,bitte um Hilfe: Hallo, habe ein A4 Dokument eingescannt und über Word bearbeitet...zusätzlich ein kleines Photo eingefügt,wenn ich das jetzt ausdrucke kommt es kleiner als A4 aus dem Drucker. Danke für Hilfe....
  8. Hey, habe eine kleine Frage - Brauche Hilfe

    in Microsoft Excel Hilfe
    Hey, habe eine kleine Frage - Brauche Hilfe: Hey Leute! Hmm, ich habe da eine für euch sicherlich leichte Frage, aber ich muss eigentlich nur wissen wie es funktioniert, da es extrem wichtig für mich ist. Undzwar geht es darum :...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden