Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CheckBox
BildScreenshot zu CheckBox CheckBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Frame
BildScreenshot zu Frame Frame-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Userform aus Word

Betrifft: Userform aus Word von: Thomas Haake
Geschrieben am: 26.08.2004 09:43:18

Guten Morgen,
es passt vielleicht gar nicht so recht hierher, aber irgendwie auch schon...
Ich möchte Daten einer Userform aus Word heraus an Excel übergeben, ich habe aber keinen Plan, wie das geht. Kann mir jemand einen Tip oder evtl. auch einen Link geben, wo ich weiter schauen kann?

Danke,
Thomas

  


Betrifft: AW: Userform aus Word von: Dan
Geschrieben am: 26.08.2004 12:20:08

Hallo Thomas,
folgenden Code in den Class Modul des UserForms im Word kopieren. Form hat ein Frame, wo sich die TExBoxen befinden, deren Werte nach Excel uebenehmen werden sollen. Hier das Beispiel :, Gruss Dan, CZ

https://www.herber.de/bbs/user/10143.doc




Option Explicit

Private Sub cmdCancel_Click()
    VBA.Unload Me
End Sub

Private Sub cmdToExcel_Click()
    ' man muss die Referenze auf Excel tlb setzen (Beisp. Bild im Document)
    Dim xlApp As Excel.Application
    Dim xlBook As Excel.Workbook
    Dim xlSheet As Excel.WorkSheet

    On Error GoTo Err_In_cmdToExcel_Click
    
    ' Excel Object bilden und einblenden, neue Datei bilden
    Set xlApp = CreateObject("Excel.Application")
    xlApp.Visible = True
    Set xlBook = xlApp.Workbooks.Add
    Set xlSheet = xlBook.Worksheets(1)
    
    ' Werte aus Words-UserForm uebergeben, alle controls im Frame frmToExcel durchgehen,
    ' falls TextBox, dan Wert nach Excel uebergeben
    Dim ctl As Control
    Dim intZeile As Integer
    
    For Each ctl In Me.frmToExcel.Controls
        If (VBA.TypeName(ctl) = "TextBox") Then
            intZeile = intZeile + 1
            xlSheet.Cells(intZeile, 1).Value = ctl.Text
            ctl.Text = "" ' TextBoxen wieder ausleren
        End If
    Next ctl

    ' Datei speichern
    Dim vntDatei As Variant
    Dim strFileFilter As String
    Dim strTitle As String
    
    strFileFilter = "Microsoft Excel Dateien (*.xls),*.xls"
    strTitle = "Microsoft Excel Datei Speichern"
    
    ' expression.GetSaveAsFilename(InitialFilename, FileFilter, FilterIndex, Title, ButtonText)
    vntDatei = xlApp.GetSaveAsFilename("Datei1.xls", strFileFilter, , strTitle)
    If (vntDatei <> FalseThen
        xlBook.SaveAs vntDatei
    End If
    
    ' Excel wieder schliessen
    xlApp.DisplayAlerts = False
    xlApp.Quit
    
    Exit Sub
    
Err_In_cmdToExcel_Click:
    MsgBox "Error in CommandButton1_Click (Error Nummer " & Err.Number & ")", vbCritical, "Error"
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5



  


Betrifft: AW: Userform aus Word von: thaake
Geschrieben am: 26.08.2004 12:31:49

Hallo Dan,
das ist super, danke Dir. Kann ich das noch anpassen, so dass die Werte a) in bestimmte Zellen geschrieben werden und b) immer in eine bestimmte Datei/worksheet geschrieben werden?

Gruß nach CZ,
Thomas


  


Betrifft: AW: Userform aus Word von: Dan
Geschrieben am: 26.08.2004 16:45:22

Hallo ich bin wieder zurueck :-)
Ja man kann es so anpassen, dass es in eine bestimmte Datei bzw. bestimmte Zellen die Werteschreibt. Z. B. ungefahr so :

Private Sub cmdToExcel_Click()
' man muss die Referenze auf Excel tlb setzen (Beisp. Bild im Document)
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.WorkSheet
Dim wrbName as string

On Error GoTo Err_In_cmdToExcel_Click

' Excel Object bilden und einblenden, neue Datei bilden
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
wrbName = "C:\Temp\datei1.xls"
Set xlBook = xlApp.Workbooks.open wrbName
Set xlSheet = xlBook.Worksheets("BestimteTabelle")

....
folgenden Code :
Dim ctl As Control
Dim intZeile As Integer

For Each ctl In Me.frmToExcel.Controls
If (VBA.TypeName(ctl) = "TextBox") Then
intZeile = intZeile + 1
xlSheet.Cells(intZeile, 1).Value = ctl.Text
ctl.Text = "" ' TextBoxen wieder ausleren
End If
Next ctl

z.B. so erseatzen :

xlSheet.Range("a1").value = me.txtBox1.value
xlSheet.Range("c5").value = me.txtBox2.value
xlSheet.Range("d1:e5").value = me.txtBox3.value
....
usw.

Ich gehe jetzt nach Hause, aber Morgen bin ich wieder bereit Dir zu helfen, falls Du es also brauchen solltest, schreib mir an DDMAIL@seznam.cz
Gruss Dan





 

Beiträge aus den Excel-Beispielen zum Thema "Userform aus Word"