Office: Daten per Userform in externe Datei

Helfe beim Thema Daten per Userform in externe Datei in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; ok anders... kann ich den Wert(Datum) auch direkt aus der Zelle C2 holen und nicht erst aus der UserForm? Dann könnt eich mir das mit... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von mobiman, 2. Januar 2013.

  1. Daten per Userform in externe Datei


    ok anders...

    kann ich den Wert(Datum) auch direkt aus der Zelle C2 holen und nicht erst aus der UserForm?

    Dann könnt eich mir das mit
    ListBox1.AddItem Range("C2").Value
    auch sparen...
     
    mobiman, 8. Januar 2013
    #16
  2. ok, hab jetzt mal anstelle der ListBox eine TextBox genommen (was auch mehr Sinn macht)
    Das ganze sieht dann so aus:

    Set rngSpalte = exapp.Worksheets("SG1").Rows(1).Find(CDbl(TextBox6), lookat:=xlWhole)

    und es kommt keine Fehlermeldung mehr. Allerdings schreibt es auch keinen Wert mehr in die Tabelle...

    hier nochmal ein ausschnitt aus dem Code

    Set rngZelle = exapp.Worksheets("SG1").Columns(1).Find(ComboBox2, lookat:=xlWhole)
    Set rngSpalte = exapp.Worksheets("SG1").Rows(1).Find(CDbl(TextBox6), lookat:=xlWhole)


    If Not rngZelle Is Nothing And Not rngSpalte Is Nothing Then exapp.Worksheets("SG1").Cells(rngZelle.Row, rngSpalte.Column) = CDbl(TextBox4)
    Set rngZelle = Nothing
    Set rngSpalte = Nothing
     
    mobiman, 8. Januar 2013
    #17
  3. Beverly
    Beverly Erfahrener User
    dann schau doch doch einfach, ob die Variable rngSpalte die richtige Spaltennummer enthält und was auf CDbl(TextBox6) steht.


    Daten per Userform in externe Datei grusz.gif
     
    Beverly, 8. Januar 2013
    #18
  4. Daten per Userform in externe Datei

    Hallo Beverly,

    ja dürfte alles passen. In Zeile1 stehen die Datumangaben 01.001.2013 bis 31.01.2013 und in TextBox6 steht der 08.01.2013
     
    mobiman, 8. Januar 2013
    #19
  5. Beverly
    Beverly Erfahrener User
    Hi,

    von Interesse ist nicht, ob alles "passen dürfte" sondenr ob es tatsächlich passt oder nicht. Lass dir doch einfach mal in einer MsgBox die Inhalte der besagten Variablen anzeigen.
    Hast du den Code auch mal im Einzelschrittmodus ablaufen lassen und gerpüft, ob alle Teile korrekt durchlaufen werden?
    Lade doch deine Arbeitsmappen in "abgespeckter" Form einfach mal hoch - es müssen nur die für das eigentliche Problem relevanten Daten erhalten bleiben, falls die Mappen schon sehr umfangreich sind (so viel Zeit sollte schon sein, um eine derartige Kopie zu erstellen).


    Daten per Userform in externe Datei grusz.gif
     
    Beverly, 8. Januar 2013
    #20
  6. Danke Beverly,
    werde ich heut Nachmittag in Angriff nehmen...
     
    mobiman, 8. Januar 2013
    #21
  7. So hab jetzt mal die zwei Dateien abgespeckt und hochgeladen. In der Testtabelle1 muss in der UserForm, 2 mal die Quellpfade geändert werden zur Zieldatei "AuswertungTestSG1"!
     
    mobiman, 8. Januar 2013
    #22
  8. Beverly
    Beverly Erfahrener User

    Daten per Userform in externe Datei

    Hi,

    1. ich würde nicht das Initialize-Ereignis des UserForms für das Laden der Daten verwenden sondenr das Activate-Ereignis, wenn du die Daten beim Öffnen immer aktuell haben willst.

    2. in der Codezeile xZeile = ["1"].End(x1Up).Row + 1 kommt ein Fehler, wenn in der ComboBox nichts ausgewählt wurde

    3. wozu benötigst du eine zweite Excelinstanz? Das geht auch in der selben. Damit man das Öffnen der anderen Arbeitsmappe nicht sieht, kann man ScreenUpdating auf False setzen

    Das eigentliche Problem bestand darin, dass nicht CDbl sondenr CDate für den Datumsvergleich genommen werden muss.

    Ich habe den Code für das Übertragen der Daten mal entsprechend abgeändert:

    Code:
     
    Beverly, 9. Januar 2013
    #23
  9. Klasse Beverly,

    das "CDate" war leider noch nicht in meinem "VBA-Wissen" vorhanden. (So wie noch vieles nicht*wink.gif* )

    Habe jetzt nur noch in der Zeile:

    If Not rngZelle Is Nothing And Not rngSpalte Is Nothing Then Workbooks("AuswertungTestSG1.xls").Worksheets("SG1").Cells(rngZelle.Row, rngSpalte.Column) = CDate(TextBox4)

    den Wert wieder in CDb1 geändert. Somit habe ich jetzt genau den Wert aus der textBox4 den ich haben möchte.

    zu.1 Danke für den Tip

    Zu 2. Ist mir bekannt werde da noch ne Abfrage einbauen. War aber bisher nicht notwendig, da immer ein Wert ausgewählt wird. (Faulheit siegte ;-) )

    Zu 3. könnte ich ein Roman schreiben Aber um es kurz zu machen, die erste Excelinstanz umfasst 13 Mappen. Alle haben unterschiedliche Userformen. Wenn alle fertig bearbeitet sind werten diese täglich, nach Datum einmal als xls. Datei und einmal als PDF gespeichert.
    Der nachträgliche Zugriff auf eine z.b. mntl. Gesamtansicht einzelner Werte war bisher nicht gegeben...

    Also nochmal vielen Dank für Deine Hilfe.

    Eine Kleinigkeit vieleicht doch noch....

    Wie Du vieleicht in der Datei AuswertungTestSG1 gesehen hast, gibt es dort insgesamt 4 Mappen. SG1, SG2, SG3 und SG4.

    Was mir noch fehlt(woran ich gerade noch sitze) ist, dass jede der Mappen unterschiedliche Werte enthält. Also muss ich jetzt noch zusätzlich(als erstes) eine der Mappen auswählen bevor ich die anderen Werte wähle und übertrage. Dazu kommt das diese Auswahl (SG1 oder SG2...) per ListBox(bereits vorhanden) in der Tabelle (nicht UserForm) ausgewählt werden muss.
    Also wenn Du oder jemand anderes noch ein Tip für mich habt... immer her damit *wink.gif*

    THX mobiman
     
    mobiman, 10. Januar 2013
    #24
  10. Beverly
    Beverly Erfahrener User
    Hi,

    du meinst 4 Tabellenblätter, nicht 4 Mappen.

    Habe ich das richtig verstanden, dass der Tabellenname nicht wie im Beispiel fix vorgegeben "SG1" ist sondern vorher im Tabellenblatt in einer ListBox ausgewählt wird?

    Was für eine ListBox verwendest du - Formular-Steuerelement oder AktiveX-Steuerelement?


    Daten per Userform in externe Datei grusz.gif
     
    Beverly, 10. Januar 2013
    #25
  11. Tabellenblätter, Maps, Sheets... du weist was ich meine *tongue.gif*

    So ist der Plan... Also vorher das Tabellenblatt auswählen. Die darin enthaltenen Daten(Namen) werden in das Array geladen und kann dann in der Userform ausgewählt werden. so wie eben jetzt schon, nur das eben das Tabellenblatt "SG1" vorgegeben ist...

    Was mir noch einfällt...

    Die Zuordnung funktioniert wunderbar. Wenn jetzt aber kein Wert in der Combobox2 ausgewählt wird wir der Wert aus TextBox4 einfach ans Ende geschrieben... Schreibe(nicht auswählen) ich jetzt einen Wert(Namen) in die ComboBox überträgt er mir den geschrieben Wert(Namen) in die Quelldatei. Das ist auch gut so nur wir der Wert leider nicht noch zusätzlich in die Zieldatei(AuswertungTestSG1) geschrieben(in SpalteA)... ist dies noch einfach zu realiesieren?

    THX
     
    mobiman, 10. Januar 2013
    #26
  12. Beverly
    Beverly Erfahrener User
    verstehe ich das richtig: wenn von Hand ein (neuer) Name in die ComboBox geschrieben wird soll geprüft werden, ob er in SG1 schon vorhanden ist - wann nicht, soll er ans Ende der Spalte A geschrieben werden?

    Meine Frage aus Beitrag #25 hast du nicht beantwortet, deshalb kann ich auch deine Frage aus Beitrag #24 nicht beantworten.


    Daten per Userform in externe Datei grusz.gif
     
    Beverly, 10. Januar 2013
    #27
  13. Daten per Userform in externe Datei

    Ja das hast Du richtig verstanden... Aber dann auch je nachdem was man vorher in der Listbox für ein tabellenblatt ausgewählt hat(SG1, SG2, SG3 oder SG4)

    AktiveX-Steuerelement "ListBox1"
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
    mobiman, 10. Januar 2013
    #28
  14. Beverly
    Beverly Erfahrener User
    zur Frage Tabellenname aus ListBox übernehmen - schreibe an den Anfang deines Codes für den CommandButton1 diese Zeilen:

    Code:
    und ersetze an allen Stellen "SG1" durch strTabelle.

    Zur Frage Eintrag eines neuen Namen - ergänze den Code vor der Zeile Set rngZelle = Nothing durch diese Codezeilen:

    Code:
    Noch eine Anmerkung: deine Erklärung bezüglich der von dir genannten angeblichen Notwendigkeit für eine zweite Excelinstanz überzeugt keineswegs und ich bin nach wie vor der Meinung dass dies nicht erforderlich ist, insbesondere da du die Arbeitsmappe nach dem Übernehmen der Daten sofort wieder schließt. Wer soll denn da in der Zwischenzeit irgend etwas mit der offenen Arbeitsmappe anstellen? Der Code wird doch bis zum Ende (also wieder Schließen) der Arbeitsmappe ohne Unterbrechung abgearbeitet.


    Daten per Userform in externe Datei grusz.gif
     
    Beverly, 10. Januar 2013
    #29
  15. und ersetze an allen Stellen "SG1" durch strTabelle.

    manchmal ist vieles einfacher als man denkt, nur gibt es momente wo man den Wald vor lauter Bäumen nicht sieht*wink.gif*

    Echt Super! Das klappt auch alles soweit Nur das wenn man einen Namen in die Combox schreibt und nicht auswählt, wird zwar der Name in das jeweilige Tabellenblatt geschrieben aber der Wert aus Textbox4 leider nicht.
    Wählt man jetzt einen Namen aus der ComboBox2 wird der Wert dem Namen zugeordnet und nur der ausgewählte Name zusätzlich ans Ende geschrieben.


    Da die Daten in ein array geladen werden muss doch meines Erachten die Datei nach dem Übertrag auch wieder geschlossen werden. Das Laden in ein Array funktioniert noch nur wenn die ext. Datei geschlossen ist. denn ist sie geöffnet kommt ein Fehler...

    Sollte ich mich Irren, nehme ich gern jede alternative an.*Smilie

    THX
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
    mobiman, 10. Januar 2013
    #30
Thema:

Daten per Userform in externe Datei

Die Seite wird geladen...
  1. Daten per Userform in externe Datei - Similar Threads - Daten Userform externe

  2. Daten aus UserForm in Tabellenblatt übertragen

    in Microsoft Excel Hilfe
    Daten aus UserForm in Tabellenblatt übertragen: Hallo zusammen, wieder eine Anfängerfrage. Ich habe eine Userform, deren Daten über einen CommandButton zum Teil in zwei Tabellenblätter übertragen werden. Wie kann ich es verhindern, dass dabei...
  3. Excel VBA Userform Daten aus Tabelle Auslesen "sverweis"

    in Microsoft Excel Hilfe
    Excel VBA Userform Daten aus Tabelle Auslesen "sverweis": Hallo zusammen, ich lerne umständlich ein wenig VBA. Ich benötige mal einen Code von einem Profi, der mir Anregungen gibt zum Üben und Probieren. Eine Tabelle hat in Spalte A eindeutige numerische...
  4. Daten per Userform in Datenbank einlesen

    in Microsoft Excel Hilfe
    Daten per Userform in Datenbank einlesen: Guten Tag zusammen, Ich bräuchte erneut eure Hilfe beim lösen einer Excel Aufgabe. Und zwar geht es darum eine Datenbank in Excel aufzubauen mit der man Daten sammeln kann um diese langfristig...
  5. Daten in Userform einlesen, ändern und zurückschreiben

    in Microsoft Excel Hilfe
    Daten in Userform einlesen, ändern und zurückschreiben: Hallo Zusammen, ich stolpere über einen Fehler, den ich nicht sehe. Ausgang: Tabelle mit 10 Spalten Userform mit 1 ListBox und 7 Textboxen Was funktioniert: In der Listbox werden die Daten der...
  6. daten von userform in tabelle übertragen

    in Microsoft Excel Hilfe
    daten von userform in tabelle übertragen: Hallo zusammen ich möchte von einer userform daten in eine tabelle übergeben. in dieser tabelle wird dann anhand der daten eine distanz berechnet. wenn ich die daten von hand in die tabelle tippe...
  7. UserForm Daten speichern. Registry oder externe Datei?

    in Microsoft Excel Hilfe
    UserForm Daten speichern. Registry oder externe Datei?: Hallo liebe Leute, ich hätte gerne Rat von euch zu meinem Problem. Gerne würde ich in einer UserForm Einträge speichern, die zu späterem Zeitpunkt wieder gebraucht werden. Kurze Beschreibung:...
  8. Gespeicherte Daten per Abfrage in Userform ausgeben

    in Microsoft Excel Hilfe
    Gespeicherte Daten per Abfrage in Userform ausgeben: Hallo, ich habe ein Programm geschrieben welches die Daten die man in eine Userform einträgt in einem Tabellenblatt speichert inklusive einer random generierten ID die mit gespeichert wird. Nun...
  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