Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1484to1488
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
Inhaltsverzeichnis

Daten aus Formular später benutzen

Daten aus Formular später benutzen
28.03.2016 23:04:59
jones
Moin Leute,
habe folgendes Problem:
In einer PPT öffnet sich am Anfang ein Formular mit Eingabe Feldern.
Die Eingetragenen Werte sollen aber nicht sofort weiterverarbeitet werden, sondern auf der letzten Folie wird per Knopfdruck ein Makro aktiviert, bei dem unter anderem die Eingegebenen Werte in ein xls sheet eingetragen werden.
Die Werte müssten also als Variable gespeichert werden, auf die später zugegriffen werden kann?! Hoffe das ist einigermaßen verständlich...
Versuche seit Ewigkeiten eine Lösung, kenn mich aber mit Modulen, Formularen, Klassen nicht so gut aus...
Hatte bisher an so was gedacht:
Private Sub cmdEingabe_Click()
'Fügt die eingetragenen Werte ins Tabellenblatt und schließt das Formular Prüfdaten
Dim xProdukt As Long
Dim xKdTeilenummer As Long
Dim xSeriennummer As Long
Dim xBauteilnummer As Long
Dim xPruefer As Long
Set xProdukt = Me.txtProdukt.Value
Set xKdTeilenummer = Me.txtKdTeilenummer.Value
Set xSeriennummer = Me.txtSeriennummer.Value
Set xBauteilnummer = Me.txtBauteilnummer.Value
Set xPruefer = Me.txtPruefer.Value
Unload frmPruefdaten
End Sub

Im anderen Makro am Schluss dachte ich geht es viell so:
  With xlWks
.Range("E2").Value = xProdukt
.Range("E3").Value = xKdTeilenummer
.Range("E4").Value = xSeriennummer

usw...
Hab mehrere Varianten mit Public, Private und so probiert aber irre im Kreis :)
Weiß jemand eine Lösung?
Grüße,
jones

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten aus Formular später benutzen
29.03.2016 07:01:20
Werner
Hallo Jones,
leg ein allgemeines Modul an. Dort dann folgendes rein:
Option Explicit
Public xProdukt As String
Public xKdTeilenummer As Long
Public xSeriennummer As Long
Public xBauteilnummer As Long
Public xPruefer As String
In dieses Modul kommt kein weiterer Code, nur der obenstehende Code direkt ins Modul, es wird auch keine Prozedur eingefügt. Die Variablen xProdukt und xPruefer habe ich mal as String deklariert, da ich davon ausgegangen bin, dass das keine Zahlen sind die da erfasst werden.
Der Code für den Command Button dann so:
Private Sub cmdEingabe_Click()
'Fügt die eingetragenen Werte ins Tabellenblatt und schließt das Formular Prüfdaten
xProdukt = Me.txtProdukt.Value
xKdTeilenummer = Me.txtKdTeilenummer.Value
xSeriennummer = Me.txtSeriennummer.Value
xBauteilnummer = Me.txtBauteilnummer.Value
xPruefer = Me.txtPruefer.Value
Unload frmPruefdaten
End Sub
Für das Übertragen der Variablen in die Tabelle dann:
With xlWks
.Range("E2").Value = xProdukt
.Range("E3").Value = xKdTeilenummer
.Range("E4").Value = xSeriennummer
.Range("E5").Value = xBauteilnummer
.Range("E6").Value = xPruefer
End With
'## Leeren der Variablen ##
xProdukt = ""
xKDTeilenummer = ""
xSeriennummer = ""
xBauteilnummer = ""
xPruefer = ""
Gruß Werner

Anzeige
AW: Daten aus Formular später benutzen
30.03.2016 00:03:42
jones
Hallo Werner,
zuerst gab es die Fehlermeldung "Typen unverträglich" Fehler 13, nachdem ich jedoch alle Variablen als String deklariert habe funktioniert es.
Wunderbar vielen Dank!!!
Eine Frage an anderer Stelle hat sich jedoch noch aufgetan:
Wenn bei der Abfrage der Optionsfelder in ppt am Schluss ein Feld nicht angeklickt wurde soll das Makro folgendermaßen abgebrochen werden:
With pptSlide
If .Shapes("OptionButton1").OLEFormat.Object.Value = True Then
varResult = "Richtig"
ElseIf .Shapes("OptionButton2").OLEFormat.Object.Value = True Then
varResult = "Falsch"
Else
varResult = "keine Antwort"
MsgBox "Bitte alle Optionsfelder ausfüllen", vbOKOnly, "Fehler"
SlideShowWindows(1).View.GotoSlide 8
End
End If

ALso msgbox, sprung zu Folie 8 und dann soll der Anwender die Folien noch einmal abarbeiten.
Soweit so gut, nur wie kann ich das makro komplett stoppen? Der BEfehl End reicht wohl nicht aus, denn eine Excel Tabelle die laut Makro eigentlich erst nach diesem Teil geöffnet werden soll, ist dann schon bereits geöffnet.
WIrd dann zum Schluss das Makro erneut ausgeführt, wird folglich die gleiche Tabelle schreibgeschützt geöffnet....Der Befehl zum Öffnen soll also nur erfolgen wenn alle Felder Richtig oder Falsch ergeben..
Irgendeine Idee?
Danke & Gruß,
jones

Anzeige
AW: Daten aus Formular später benutzen
30.03.2016 00:14:24
Werner
Hallo Jones,
vorzeitiger Abbruch eines Codes erfolgt mit
Exit Sub und nicht mit End
Gruß Werner

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige