Thema Datum  Von Nutzer Rating
Antwort
11.07.2023 10:33:00 DoWa
Solved
11.07.2023 12:47:27 Gast5538
NotSolved
11.07.2023 13:23:27 DoWa
NotSolved
Blau Daten aus UserForm in geschlossenes File übertragen
11.07.2023 15:26:28 Gast79697
NotSolved
11.07.2023 18:41:45 Gast31460
NotSolved
12.07.2023 12:43:58 Gast1724
NotSolved

Ansicht des Beitrags:
Von:
Gast79697
Datum:
11.07.2023 15:26:28
Views:
386
Rating: Antwort:
  Ja
Thema:
Daten aus UserForm in geschlossenes File übertragen

So als Ansatz:

Die Parameternamen bei AddRecord sollten natürlich sinnvoll sein (also nicht Wert1, Wert2 usw. sondern z.B. Produktnummer, Produktname, usw.).

'
' in einem Modul
'
Option Explicit

Public Sub AddRecord( _
  Wert1 As Variant, _
  Wert2 As Variant, _
  Wert3 As Variant _
)
  Dim wksFehlersammelliste As Excel.Worksheet
  Set wksFehlersammelliste = GetFehlersammelliste().Worksheets("Tabelle xyz") '< anpassen
  
'# der Teil wäre bei einer intelligenten Tabelle ein wenig anders
  Dim rngCell As Excel.Range
  'letzte Zelle mit Inhalt suchen (von unten nach oben)
  Set rngCell = wksFehlersammelliste.Cells(wksFehlersammelliste.Rows.Count, "A").End(xlUp)
  'Zelle unter der 'letzten Zelle mit Inhalt'
  Set rngCell = rngCell.Offset(RowOffset:=1)
  
  'Daten schreiben/übertragen
  wksFehlersammelliste.Cells(rngCell.Row, "A").Value = Wert1
  wksFehlersammelliste.Cells(rngCell.Row, "B").Value = Wert2
  wksFehlersammelliste.Cells(rngCell.Row, "C").Value = Wert3
  '...
'#
  
  Call SaveFehlersammelliste
  
  'OPTIONAL:
  'Call CloseFehlersammelliste
  ' Es würde mehr Sinn machen, diese im Hintergrund offen zu lassen und erst dann zu schließen,
  ' wenn die Mappe - in welche dieses Makro hier läuft - geschlossen wird (siehe Event: Workbook_BeforeClose)
  
End Sub

Public Sub SaveFehlersammelliste()
  Call GetFehlersammelliste().Save
End Sub

Public Sub CloseFehlersammelliste()
  
  Dim wkb As Excel.Workbook
  
  On Error Resume Next
  Set wkb = Workbooks("Fehlersammelliste.xlsx")
  On Error GoTo 0
  
  If wkb Is Nothing Then
    Exit Sub
  End If
  
  Call wkb.Close(SaveChanges:=True)
  
End Sub

Private Function GetFehlersammelliste() As Excel.Workbook
  
  Dim wkb As Excel.Workbook
  
  On Error Resume Next
  Set wkb = Workbooks("Fehlersammelliste.xlsx")
  On Error GoTo 0
  
  If wkb Is Nothing Then
    
    'ggf. anpassen
    ' Hier wird davon ausgegangen, dass die zu öffnende Mappe im gleichen Verzeichnis liegt
    ' wie die Mappe, in welcher dieses Makro ausgeführt wird.
    Dim strFullFilename As String
    strFullFilename = IIf(Right$(ThisWorkbook.Path, 1) <> "\", ThisWorkbook.Path & "\", ThisWorkbook.Path)
    strFullFilename = strFullFilename & "Fehlersammelliste.xlsx"
    
    On Error Resume Next
    Dim errorCode As Long
    Application.ScreenUpdating = False
    Set wkb = Workbooks.Open(strFullFilename)
    wkb.Windows(1).Visible = False
    Application.ScreenUpdating = True
    errorCode = Err.Number
    On Error GoTo 0
    
    If wkb Is Nothing Then
      Call Err.Raise(errorCode, Description:="Die Mappe '" & strFullFilename & "' konnte nicht geöffnet werden - existiert diese?")
    End If
    
  End If
  
  Set GetFehlersammelliste = wkb
  
End Function

 

Wenn du dann in deiner UserForm dann auf deinen Button zum übernehmen/speichern der Daten klickst, dann steht in dem Click-Event etwas drin wie z.B.:

AddRecord("Text", 2, CVErr(xlErrNA))

 

Grüße


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
11.07.2023 10:33:00 DoWa
Solved
11.07.2023 12:47:27 Gast5538
NotSolved
11.07.2023 13:23:27 DoWa
NotSolved
Blau Daten aus UserForm in geschlossenes File übertragen
11.07.2023 15:26:28 Gast79697
NotSolved
11.07.2023 18:41:45 Gast31460
NotSolved
12.07.2023 12:43:58 Gast1724
NotSolved