Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1148to1152
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
Daten von Tabelle in Userform laden
Tabelle
Hallo und eine schönen Nachmittag,
ich hoffe es kann mir jemand helfen :-(
Ich habe für unsere Mitarbeiter ein Formular erstellt in dem sie gewisse Daten eintragen können.
Das klappt wunderbar meiner Meinung, die Daten werden Zeilenweise in das Tabellenblatt eingetragen.
Habe aber jetzt noch eine zweite Userform wo diese Eingetragenen Daten wieder ausgelesen werden müssen, sprich einfach zum auslesen und korrigieren.
In der Userform befinden sich 3 commandbuttons (zurück, weiter,korriegieren). Ich hoffe ihr versteht was mein Ziel ist.
Mit "zurück" & "weiter" möchte ich zwischen den eingetragenen Daten switchen und jeweils bei Bedarf korrigieren.
In der Anlage habe ich die Datei mal Hochgeladen
Bin euch wirklich sehr Dankbar für eure Hilfe bzw. Verbesserungsvorschläge
Wenn ich das hinkriege bekomm ich einen dicken fetten Mitarbeiter plus :-)
Meine VBA Kenntnisse haben bis dahin gereicht, ich weiss jetzt nicht mehr weiter
Lg aus Wien
Fatih

Die Datei https://www.herber.de/bbs/user/68865.xls wurde aus Datenschutzgründen gelöscht

AW: Daten von Tabelle in Userform laden
29.03.2010 17:30:15
Tabelle
Hallo Fatih,
und warum hast Du nicht Daten, Maske benutzt, da ist das schon alles drin.

AW: Daten von Tabelle in Userform laden
29.03.2010 17:38:10
Tabelle
Hallo Hajo,
danke für deine Antwort
an die Datenmaske hab ich auch schon gedacht, nur ich hab zwei Textboxen drinnen wo vermutlich ein langer Satz drinnen stehen wird.
-Inhalt und Vereinbarungen
-sonstige Vereinbarung (Wenn du dir Datei angesehen hast,was ich hochgeladen habe)
Ich hab keine Ahnung wie ich diese Einträge auslesen kann
Vielleicht so?
Private Sub Userform Initialize()
Textbox1.value = Sheets("").range (A1).value
End Sub
Wenn ich das so hinschreibe, bekomme ich genau einen Eintrag, aber ich möchte mit dem Vor & Zurück hin und her Switchen.
lg fatih
Anzeige
AW: Daten von Tabelle in Userform laden
29.03.2010 18:28:21
Tabelle
Hallo Fatih,
wie willst du denn die Zeile des anzuzeigenden Datensatzes im Userform2 auswählen?
Wenn du sehr wenige Daten hast, dann kann man man einfach in Zeile 2 anfangen und mit den Pfeiltasten aufwärts/abwärts zählen. Den Zeilenwert speicherst du in einer im Userform-Modul in der 1. Zeile als Private deklarierten Variablen.
Bei vielen Datensätzen sollte die Auswahl des Datensatzes in einer Liste (Kombobox oder Listbox) möglich sein.
Für das Einlesen der Tabellendaten ist eine eigene Subroutine erforderlich, die jeweils nach Änderung der Zeilen-Nr. von den beiden Pfeilbuttons gestartet wird.
Weiterer Hinweis: Wenn man die Eingabe-Steuerelemente per Tab-Taste ansteuert, dann ist die Reihenfolge etwas wild. Ändere für Comboboxen und Textboxen die Eigenschaft "Tabindex" beginnend von oben im UF aufsteigend von 0.
Gruß
Franz
'Prozedur für Userform2:
Option Explicit
Private ZeileAktuell As Long
Private Sub CommandButton1_Click()
Unload Me
End Sub
Private Sub DatenEinlesen()
With Worksheets("Daten")
Me.TextBox1.Value = .Cells(ZeileAktuell, 1).Value
Me.TextBox4.Value = .Cells(ZeileAktuell, 2).Value
Me.TextBox2.Value = .Cells(ZeileAktuell, 3).Value
Me.TextBox3.Value = "?" 'Name Vermittler
Me.TextBox5.Value = .Cells(ZeileAktuell, 4).Value
Me.TextBox6.Value = .Cells(ZeileAktuell, 5).Value
Me.TextBox7.Value = .Cells(ZeileAktuell, 6).Value
Me.TextBox8.Value = .Cells(ZeileAktuell, 7).Value
Me.TextBox9.Value = .Cells(ZeileAktuell, 8).Value
Me.TextBox10.Value = .Cells(ZeileAktuell, 9).Value
End With
End Sub
Private Sub CommandButton2_Click()
'Daten korrigieren
If MsgBox("Daten ändern?", vbQuestion, "Datensatz korrigieren") = vbYes Then
With Worksheets("Daten")
.Cells(ZeileAktuell, 1).Value = Me.TextBox1.Value
.Cells(ZeileAktuell, 2).Value = Me.TextBox4.Value
.Cells(ZeileAktuell, 3).Value = Me.TextBox2.Value
'      .Cells(ZeileAktuell, ?).Value = Me.TextBox3.Value 'Name Vermittler
.Cells(ZeileAktuell, 4).Value = Me.TextBox5.Value
.Cells(ZeileAktuell, 5).Value = Me.TextBox6.Value
.Cells(ZeileAktuell, 6).Value = Me.TextBox7.Value
.Cells(ZeileAktuell, 7).Value = Me.TextBox8.Value
.Cells(ZeileAktuell, 8).Value = Me.TextBox9.Value
End With
'    MsgBox ("Die Daten wurden geändert")
End If
End Sub
Private Sub CommandButton3_Click()
'Pfeil weiter
ZeileAktuell = ZeileAktuell + 1
With Worksheets("Daten")
If ZeileAktuell = 2 Then
Call DatenEinlesen
Else
MsgBox "1. Datensatz wird angezeigt", vbQuestion + vbOKOnly, "Datensatz zurück"
End If
End Sub
Private Sub UserForm_Initialize()
Worksheets("Daten").Activate
ZeileAktuell = 2
Call DatenEinlesen
End Sub

Anzeige
AW: Daten von Tabelle in Userform laden
30.03.2010 10:24:29
Tabelle
Einen wunderschönen Guten Morgen,
vorweg vielen vielen Dank für eure Bemühungen, ich habe mir jetzt die Vorschläge angeschaut bzw. auch gleich verarbeitet. Ich muss sagen, die Umsetzung ist echt genial.
Ich habe den Code von Chris in mein Hauptdokoment kopiert und zusätzlich noch die fehlende Listbox eingefügt. Es funktioniert genau wie ich es mir vorgestellt habe.
Lieber fcs, also die Datei wird wöchentlich bearbeitet von ca. 19 Mitarbeiter. Diese werden dann mir die Datei per Mail (Lotus Notes) zusenden. Habe auch im Forum ein Beitrag gefunden wo ich Lotus Notes direkt per Klick anspreche. Funktioniert auch wunderbar.
Per commanbutton öffnet sich mein Mailprogramm mit ein neuses Memo, der Absender und der Betreff sind schon vordefiniert, aber wie bekomme ich jetzt nur die Tabelle "Daten" in das Memo rein?
Private Declare

Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hWnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nshowcmd As Long) As Long

Sub Bild8_BeiKlick()
Dim strToReceiver As String
Dim strSubject As String
Dim strBody As String
strToReceiver = "vpmonitoring@helvetia.at"
strSubject = "Helvetia Action Tracking"
Call ShellExecute(0&, "Open", "mailto:" & strToReceiver _
& "?Subject=" & strSubject, "", "", 1)
End Sub
Wenn ihr mir da auch kurz weiterhelfen könnten, dann bin ich wunschlos glücklich, aber wenn nicht is auch kein Problem.
Trotzdem, vielen vielen Dank nochmals an euch beide.
lg
fatih
Anzeige
AW: Daten von Tabelle in Userform laden
30.03.2010 15:06:59
Tabelle
Hallo Fatih,
dann muss du das Blatt "Daten" kopieren und in einer separaten Datei speichern. Dann kannst du es als Attachment(Anhang) der Mail hinzufügen.
Ich kenne die Parameter, die Notes verarbeitet nicht bzw. ggf. deren Syntax. Firefox, das ich verwende, übernimmt das Attachment jedenfalls nicht als weiteren Parameter.
Ich hab in dein Makro mal das Erstellen der an die E-Mail anzuhängenden Datei eingebaut.
Gruß
Franz
Sub Bild8_BeiKlick()
Dim strToReceiver As String
Dim strSubject As String
Dim strBody As String
Dim wbMail As Workbook, strAttachment As String, strPfad As String
'Blatt Daten kopieren und als Datei speichern
With ActiveWorkbook
strPfad = .Path
.Worksheets("Daten").Copy
End With
Set wbMail = ActiveWorkbook
With wbMail
'Dokumenteigenschaften setzen
.BuiltinDocumentProperties("Title") = "Blatt Daten, Stand: " & Date
.BuiltinDocumentProperties("Subject") = "Helvetia Action Tracking"
'Dokument im Excel 2003-Format speichern
.SaveAs Filename:=strPfad & Application.PathSeparator _
& "Daten " & Format(Date, "YYYY-MM-DD"), FileFormat:=xlExcel8
strAttachment = .FullName
.Close
End With
'Mailprogramm aufrufen
strToReceiver = "vpmonitoring@helvetia.at"
strSubject = "Helvetia Action Tracking"
Call ShellExecute(0&, "Open", "mailto:" & strToReceiver _
& "?Subject=" & strSubject, "", "", 1)
'    Call ShellExecute(0&, "Open", "mailto:" & strToReceiver _
& "?Subject=" & strSubject & "?Attachment=" & strAttachment, "", "", 1)
End Sub

Anzeige
AW: Daten von Tabelle in Userform laden
30.03.2010 15:34:01
Tabelle
Hallo Franz,
muss ich den Code jetzt in ein neues Modul kopieren?
lg fatih
AW: Daten von Tabelle in Userform laden
30.03.2010 16:04:55
Tabelle
Hallo Fatih,
nein, du muss die vorhandenen Prozedur "Bild8_BeiKlick" durch die von mir geänderte ersetzen.
Gruß
Franz
AW: Daten von Tabelle in Userform laden
30.03.2010 16:27:01
Tabelle
Hallo Franz,
jetzt klappt es prima, hab nur eine Ziffer ändern müssen ( FileFormat:=xlExcel8) die 8 hab ich geändert auf 7
Hast mir echt sehr geholfen Franz, vielen Dank.
Ich hoffe das Chris auch mein Beitrag noch liest, denn das ist der letzte Punkt. Dann kann ich endlich die arbeit abgeben.
lg
fatih
Keine weiteren Fragen mehr (owT)
30.03.2010 16:41:11
fcs
Thread closed
AW: Daten von Tabelle in Userform laden
29.03.2010 18:55:23
Tabelle
Servus,
hier noch eine Alternative. Ich hab mal noch ne Listbox eingefügt. Außerdem ist mir aufgefallen, dass der Name des vermittlers nicht eingetragen wird.
https://www.herber.de/bbs/user/68868.xls
Wenn du auf korrigieren gehst, dann werden die Daten so eingetragen, wie sie in den Textboxen stehen. Also wenn du etwas ändern willst einfach ändern und korrigieren drücken.
Gruß
Chris
Anzeige
AW: Daten von Tabelle in Userform laden
30.03.2010 14:20:53
Tabelle
Hallo Chris,
es tut mir echt leid, das ich wieder störe. habe jetzt den Vermittler eingefügt eine zusätzliche spalte.
wenn ich die maske lesen und korrigieren anschaue, hat sich alles um eine zeile verschoben.
in welcher zeile muss ich was ändern?
wäre ganz lieb wenn du mir noch kurz helfen könntest.
vielen dank und liebe grüsse
AW: Daten von Tabelle in Userform laden
30.03.2010 23:24:16
Tabelle
Servus,
wo wurde jetzt der Vermittler eingefügt, also welche Spalte ? Und was heißt es hat sich alles um eine Zeile verschoben ?
Gruß
Chris
AW: Daten von Tabelle in Userform laden
01.04.2010 12:24:59
Tabelle
Hallo Chris,
hab es jetzt geschafft mit Hilfe von Franz. Trotzdem vielen Dank für deine Bemühungen.
wünsch dir noch einen wunderschönen Tag.
lg
fatih
Anzeige

156 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige