Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
932to936
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
932to936
932to936
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Calendar.Value in eigene Spalte im Tabellenblatt

Calendar.Value in eigene Spalte im Tabellenblatt
08.12.2007 21:05:00
Alex
Hallo zusammen,
ich habe wieder mal meine kleineren Problemchen mit einem kleinen Excel-VBA Projekt.
Hier die kurze Problembeschreibung: Essenskalkulation
Erstellt habe ich eine Userform die ich von dem ersten Tabellenblatt (=Userform) starte. Nun können darauf in Textboxen Namen, Klasse, und Preis eingegeben werden - diese werden in ein Tabellenblatt "Datenbank" geschrieben und können auch mittels ComboBox wieder ausgewählt und angezeigt werden.
Und nun zu meinem Problem: und zwar möchte ich, wenn ich auf dem Steuerelement Kalender 11 ein Datum anklicke - dass er mir in das Tabellenblatt "Datenbank" in die jeweilige dafür vorgesehene Spalte das Datum hinzufügt. Quasi ab Spalte D (=1.) bis AH (=31.)
Erschwerend hinzu kommt noch dass zuvor der Name in diesem Tabellenblatt gesucht und dann in diese Zeile in den jeweiligen Spalten das Datum eingetragen werden soll.
Könnt ihr mir einen kleinen Denkanstoß geben, wie ich sowas mittels VBA Code lösen kann?
Es scheitert bei mir an dem, dass ich nicht weiß, wie ich den Namen suchen und dann in diese Zeile und dann auch noch in der richtigen Spalte das Datum rein bringe...
Bitte um Hilfestellung der Excel-VBA Genies...
MfG
Alex S.

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Calendar.Value in eigene Spalte im Tabellenblatt
08.12.2007 22:48:06
chris
Hallo verstehe deine frage nicht ganz würde dir gerne helfen .
Du hast das Kalender steuerelement auf deiner userform .
und möchten nach dem du ein datum ausgewählt hast was tun?
und möchtest du das makro laufen lassen sobald du auf dem steuerelement den tag anklickst oder hast du irgendwo auf deiner form noch einen OK button ?
Bitte erklär mal etwas genauer.
in die jeweilige dafür vorgesehene Spalte das Datum hinzufügt.
Was meinst du mit dafür vorgesehen ? UNd warum ? Hast du eine Spoalte für datums und meinst zeilen oder ?
gruß Chris

AW: Calendar.Value in eigene Spalte im Tabellenbla
09.12.2007 03:21:34
Alex
Hallo chris,
nachdem ich am Kalender ein Datum ausgewählt habe - möchte ich dass es in das Tabellenblatt "Datenbank" übergeben wird, jedoch in die "richtige" Spalte. Richtige Spalte bedeutet dass ich Spalten für jeden einzelnen Tag habe von 1 bis 31, und da soll dann wenn z.B. heute der 9.12.07 ist das übergebene Calendar.Value in die Spalte L. Spalten A-C = Name, etc. ab Spalte D beginnen dann die "Tagesspalten" 1. bis 31. (=Spalte AH)
Weitergehend soll nämlich dann aus der Tabelle "Datenblatt" eine ListBox gefüllt werden und anhand dieser Daten auch ein Formular mit Werten zum Druck gefüttert werden.
Und die Daten sollen sofort in die Tabelle geschrieben werden, aber eben bei dem richtige ZeilenNummer/Name(wie oben schon erwähnt).
Sheets("Datenbank").Select
Cells(2, 4) = Calendar1.Value

nur eben ist es mit dieser Zuweisung ganz und gar nicht dynamisch so wie ich es benötige...
Hoffe du hast jetzt einen besseren Einblick in das, was ich brauche. :)
Ansonsten bin ich für jeden Tipp offen und dankbar.
MfG
Alex S

Anzeige
AW: Calendar.Value in eigene Spalte im Tabellenblatt
09.12.2007 03:50:35
Jens
Hi Alex
Vielleicht wäre es sinnvoller, wenn Du die Datei mal hochlädst, damit man den Aufbau nachvollziehen kann.
Zudem könnte man das dann sofort an der Datei testen.
Ein paar Dummy-Daten in der Tabelle reichen schon aus dafür.
Gruß aus dem Sauerland
Jens

AW: Calendar.Value in eigene Spalte im Tabellenbla
09.12.2007 15:54:00
Alex
Hallo Jens,
hier mein Code:
  • 
    Private Sub Calendar1_Click()
    'Hier soll das gewählte Datum in die " _
    richtige" Datumsspalte eingetragen
    Sheets("Datenbank").Select   'werden und dann aufbauend auf diesen Daten eine Statistik  _
    erstellt werden.
    'Statistik habe ich schon - es  _
    scheitert lediglich an dem, dass ich ein
    If Calendar1.Day = 1 Then               'gewähltes Datum nicht beim zuvor gewählten Namen  _
    und dann auch noch in
    Cells(2, 4) = Calendar1.Value           'diese Zeile beim Namen das Datum hinzufügen kann.
    If Calendar1.Day = 2 Then
    Cells(2, 5) = Calendar1.Value
    If Calendar1.Day = 3 Then
    Cells(2, 6) = Calendar1.Value
    If Calendar1.Day = 4 Then
    Cells(2, 7) = Calendar1.Value
    If Calendar1.Day = 5 Then
    Cells(2, 8) = Calendar1.Value
    If Calendar1.Day = 6 Then
    Cells(2, 9) = Calendar1.Value
    If Calendar1.Day = 7 Then
    Cells(2, 10) = Calendar1.Value
    If Calendar1.Day = 8 Then
    Cells(2, 11) = Calendar1.Value
    If Calendar1.Day = 9 Then
    Cells(2, 12) = Calendar1.Value
    If Calendar1.Day = 10 Then
    Cells(2, 13) = Calendar1.Value
    If Calendar1.Day = 11 Then
    Cells(2, 14) = Calendar1.Value
    If Calendar1.Day = 12 Then
    Cells(2, 15) = Calendar1.Value
    If Calendar1.Day = 13 Then
    Cells(2, 16) = Calendar1.Value
    If Calendar1.Day = 14 Then
    Cells(2, 17) = Calendar1.Value
    If Calendar1.Day = 15 Then
    Cells(2, 18) = Calendar1.Value
    If Calendar1.Day = 16 Then
    Cells(2, 19) = Calendar1.Value
    If Calendar1.Day = 17 Then
    Cells(2, 20) = Calendar1.Value
    If Calendar1.Day = 18 Then
    Cells(2, 21) = Calendar1.Value
    If Calendar1.Day = 19 Then
    Cells(2, 22) = Calendar1.Value
    If Calendar1.Day = 20 Then
    Cells(2, 23) = Calendar1.Value
    If Calendar1.Day = 21 Then
    Cells(2, 24) = Calendar1.Value
    If Calendar1.Day = 22 Then
    Cells(2, 25) = Calendar1.Value
    If Calendar1.Day = 23 Then
    Cells(2, 26) = Calendar1.Value
    If Calendar1.Day = 24 Then
    Cells(2, 27) = Calendar1.Value
    If Calendar1.Day = 25 Then
    Cells(2, 28) = Calendar1.Value
    If Calendar1.Day = 26 Then
    Cells(2, 29) = Calendar1.Value
    If Calendar1.Day = 27 Then
    Cells(2, 30) = Calendar1.Value
    If Calendar1.Day = 28 Then
    Cells(2, 31) = Calendar1.Value
    If Calendar1.Day = 29 Then
    Cells(2, 32) = Calendar1.Value
    If Calendar1.Day = 30 Then
    Cells(2, 33) = Calendar1.Value
    If Calendar1.Day = 31 Then
    Cells(2, 34) = Calendar1.Value
    End Sub
    



  • Bilddateien werden gleich hochgeladen.
    Userbild
    Userform
    Userbild
    Datenbank
    Danke schon mal für Tipps.
    MfG
    Alex S.

    Anzeige
    AW: Calendar.Value in eigene Spalte im Tabellenbla
    09.12.2007 17:59:00
    Jens
    Hallo Alex
    Die Datei nachzubauen ist mir zu langatmig.
    Lade die gesamte Datei mal hoch oder schick sie mir per Mail an:
    j e n s x l s [at] w e b . d e
    (ohne Leerzeichen dazwischen)
    Den ersten Code kannst Du jedenfalls schon mal kürzen:
    
    Private Sub Calendar1_Click()
    Worksheets("Datenbank").Cells(2, Calender1.Day +3) = Calender1.Value
    End Sub
    


    Gruß aus dem Sauerland
    Jens

    AW: Calendar.Value in eigene Spalte im Tabellenbla
    10.12.2007 18:00:55
    Alex
    hallo Jens,
    habe nun deinen Code geschrieben - das funktioniert bestens - frage mich immer warum ich soviel tippe und das ganze dann als Einzeiler das selbe macht.... - aber danke nochmals. :-)
    Nun habe allerdings noch das Problem, dass ich das ganze dynamisch hinbringen muss, sprich wenn in der ComboBox (=CB_Name) ein Name ausgewählt wird - dass dann auch der Datumseintrag bei diesem Namen in der Zeile steht.
    Könntest du dich meiner nochmals annehmen, damit ich nicht wieder Zeile für Zeile tippe und dann drauf komme, dass alles wieder in ein paar Zeilen das selbe macht...
    Thx,
    Alex S.

    Anzeige
    AW: Calendar.Value in eigene Spalte im Tabellenbla
    10.12.2007 18:57:56
    Jens
    Hi Alex
    Da ich deinen übrigen Code und den Aufbau der Userform nicht kenne, kann ich nur ins Blaue tippen:
    Wenn Deine Namen ab Zeile 2 beginnen, dann versuch es mal so:
    
    Private Sub Calender1_Click()
    If CB_Name.ListIndex >= 0 Then
    Worksheets("Datenbank").Cells(CB_Name.ListIndex + 2, Calender1.Day + 3) = Calender1.Value
    End If
    End Sub
    


    Ansonsten müsstest Du mir doch mal die Datei schicken.
    Dann kann ich mir das mal richtig anschauen.
    Gruß aus dem Sauerland
    Jens

    AW: Calendar.Value in eigene Spalte im Tabellenbla
    11.12.2007 01:09:00
    Alex
    Hallo Jens,
    habe dir die Datei schon gestern gesandt - schau doch bitte nochmals ins Postfach - vielleicht ist sie ja im Spamfilter, etc...
    Solltest du es nicht haben - schreib mir kurz hier rein - dann sende ich es nochmals... Habe nämlich noch ein Problem mit dem Sortieren der Daten - so scheint es im Code... wenn du mir da auch noch gleich einen Tipp schreiben könntest - was ich da verkehrt übergebe - wäre super.
    Danke schon mal für die Mühe :)
    mfg
    Alex S.

    Anzeige
    AW: Calendar.Value in eigene Spalte im Tabellenbla
    12.12.2007 20:05:50
    Alex
    Möchte mich auf diesem Wege nochmals bei Jens für seinen tatkräftigen Einsatz bedanken :)
    Es ist immer wieder schön zu sehen - dass einem auch fachmännisch im Internet geholfen werden kann.
    DANKE
    MfG
    Alex S.

    AW: Calendar.Value in eigene Spalte im Tabellenbla
    12.12.2007 23:31:00
    Jens
    Hi Alex
    Danke für das Lob. *rotwerd*
    Man tut, was man kann. Auch, wenn ich nicht so ein Profi bin, wie manch anderer hier, helfe ich doch sehr gerne, wo ich kann.
    Gruß aus dem Sauerland
    Jens

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige