Benötige Hilfe bei Userform(Variablen)
08.03.2021 10:39:26
Jürgen
hatte mich vor kurzen schon mal an die Profis hier gewandt und mit viel Gedult und unzähligen Tests und Recherche ist mein Projekt nun eigentlich soweit fertig.
Während dieser Zeit und dem ganzen Nachlesen musste ich allerdings feststellen dass mir das nun doch nicht reicht und ich gerne am Ende aus meinem eigentlichen Makro/VBA Code ein lauffähgies ADDIN erstellen will.
Aber nun zum folgenden Problem:
Ursprünglich hatte ich zwei Buttons (Für jeden Ablauf inkl. Umbennung, welche in einer Userform "Live" zu sehen war, einen). Bedeutet man klick zb. auf Start CVT, kann anschließend die CSV auswählen und öffnen, diese wird Importiert nach meinen Vorstellungen angepasst und abschließend als neue Mappe gespeichert. Vor dem eigentlichen Speichern wird mir in eine Userform angezeigt in der ein Dateiname als Vorgabe erscheint und in der ich bestimmte Vorgaben anpassen kann. Was auch bestens klappt....
Der gleiche Ablauf nur eben mit einem anderen Dateinamen und einem Button Start IEDUB gibt es ebenfalls im alten Projekt.
Für das am Ende entstehende ADDIN versuche ich nun das ganze in eine einzige Userform zu bekommen die permanent Sichtbar ist, einen Button nur fürs Öffnen, Importieren und anpassen hat. Und dann eben einen Button der auf eine SUB zugreift die die Umbennung für CVT ermöglich sowie einen für IEDUB. Abschließend noch ein Speicherbutton der den neuen Dateinnamen übernimmt und die CSV speichert.
Im Grunde suche ich nun jemanden der mir sagen kann wie ich:
Option Explicit
Public cvtName As String
Public dubName As String
Private strUser As String
Dim Converter As String
Private Const EX_PFAD As String = "C:\Users\Public\cda\cup\vF\BDV"
'*Öffnen der CSV Datei inkl. der Bearbeitung
Private Sub openCSV_Click()
Call ImportFull
End Sub
'*Speicher Button inkl. eingegeben Umbennung für CVT
Private Sub cmdCloseCVT_Click()
cvtName = EX_PFAD & "\" & strUser & "_" & "GBCVTAACE_CVT0" & txtCVT.Text & "_" & Format(Now, " _
YYYYMMDDhhmmss") & ".csv"
Me.Hide
End Sub
Private Sub lblFileNameCVT_Click()
End Sub
'*Routine für die Umbennung von GB CVT
Private Sub runCVT_Click()
Call gbcvtaace
End Sub
'*Anpassung des Dateinamens CVT0XX
Private Sub txtCVT_Change()
lblFileName.Caption = EX_PFAD & "\" & strUser & "_" & "GBCVTAACE_CVT0" & txtCVT.Text & "_" & _
Format(Now, "YYYYMMDDhhmmss") & ".csv"
End Sub
'*"Live Ansicht" der Umbennung von CVT0XX
Private Sub UserForm_Activate()
strUser = Environ("USERNAME")
cvtName = vbNullString
txtCVT.Text = "XX"
lblFileName.Caption = EX_PFAD & "\" & strUser & "_" & "GBCVTAACE_CVT0" & txtCVT.Text & "_" & _
Format(Now, "YYYYMMDDhhmmss") & ".csv"
End Sub
'*Hier der Ablauf den ich gerne als Variable für die Userform hätte
'*Speicher Button inkl. eingegeben Umbennung für IEDUB
Private Sub cmdCloseIEDUB_Click()
cvtName = EX_PFAD & "\" & strUser & "_" & "IEDUBGACE_DUB0" & txtDUB.Text & "_" & Format(Now, " _
YYYYMMDDhhmmss") & ".csv"
Me.Hide
End Sub
Private Sub lblFileNameDUB_Click()
End Sub
'*Routine für die Umbennung von IE DUB
Private Sub runDUB_Click()
Call iedubgace
End Sub
'*Anpassung des Dateinamens DUB0XX
Private Sub txtDUB_Change()
lblFileName.Caption = EX_PFAD & "\" & strUser & "_" & "IEDUBGACE_DUB0" & txtCVT.Text & "_" & _
Format(Now, "YYYYMMDDhhmmss") & ".csv"
End Sub
'*"Live Ansicht" der Umbennung von DUB0XX
Private Sub UserForm_Activate()
strUser = Environ("USERNAME")
cvtName = vbNullString
txtDUB.Text = "XX"
lblFileName.Caption = EX_PFAD & "\" & strUser & "_" & "IEDUBGACE_DUB0" & txtCVT.Text & "_" & _
Format(Now, "YYYYMMDDhhmmss") & ".csv"
End Sub
ich diese Userform durch eventuelle Variablen oder auch sonst wie "verkürzen" kann.
Der CVT Teil funktioniert soweit eigentlich sowie auch das Aufrufen von "Call gbcvtaace" nur wie bekomme ich es hin das ich nur eine "lblFileName.Caption" habe die Quasi darauf reagiert welche Sub genutzt wurde bzw. zwischen Call gbcvtaace und Call iedubgace unterscheidet. Und das ganze dann natürlich noch so das die jeweilge "Live Umbennung" angezeigt und übernommen wird.
Für die .Caption könnte ich mich ja noch an einer Variable versuchen wobei ich mich damit auch noch schwer tue. Aber wie ich das ganze dann auch noch in die "Live Ansicht" bekomme ist mir bisher schleierhaft. Daher wende ich mich nun erstmal an Euch bevor ich mich Sinnlos versuche in die Variable .Caption einzulesen wenn das am Ende eh der falsche Weg war.
Ich hoffe Ihr könnt mir folgen :-)
Danke schonmal und einen schönen Start in die Woche.
VG