03.03.2020, 11:05 (Dieser Beitrag wurde zuletzt bearbeitet: 03.03.2020, 11:06 von Zeichner.)
Hi zusammen
Ich habe folgendes Problem:
Mehrere Mitarbeiter sollen ein Formular ausfüllen welche ich über eine Excel VBA Userform erstellt habe. Diese Daten werden dann direkt in Excel in eine "Datenbank" eingelesen.
Jetzt hätte ich allerdings gerne das sie nur das Formular bearbeiten können ohne das sie die Excel Datenbank öffnen.
Dim objExcel
Dim objWshShell
Set objExcel = WScript.CreateObject("Excel.Application")
Set objWshShell = CreateObject("WScript.Shell")
objExcel.Visible = FALSE
objExcel.DisplayAlerts = FALSE
03.03.2020, 11:53 (Dieser Beitrag wurde zuletzt bearbeitet: 03.03.2020, 11:53 von Zeichner.)
Hi noch einmal
Nächstes Problem; wenn alle 4 Formulare ausgefüllt sind werden per Knopdruck alle eingaben in die Excel eingetragen, das Funktioniert wenn ich das Makro mit geöffneter Excel starte einwandfrei, allerding mit diesem Code leider nicht...
Wo muss ich der Code anpassen das das Funktioniert?
Im Userform oder in der .vbs Datei?
Der Code im UserForm4:
Code:
Option Explicit
Private Sub Bestätigen_Click()
'erste Freie Zeile ausfindig machen
Dim Last As Integer
Worksheets("Datenbank").Activate
Last = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
If UserForm1.CheckBox_WandSchalung = True Then Cells(Last, 14).Value = "R"
If UserForm1.CheckBox_Deckenschalung = True Then Cells(Last, 15).Value = "R"
If UserForm1.CheckBox_Armierung = True Then Cells(Last, 16).Value = "R"
If UserForm1.CheckBox_Mauerwerk = True Then Cells(Last, 17).Value = "R"
If UserForm1.CheckBox_FBFolie = True Then Cells(Last, 18).Value = "R"
If UserForm1.CheckBox_Dämmung = True Then Cells(Last, 19).Value = "R"
If UserForm1.CheckBox_Elemente = True Then Cells(Last, 20).Value = "R"
If UserForm1.CheckBox_KanalisationWerkleitungen = True Then Cells(Last, 21).Value = "R"
If UserForm2.CheckBox_Bauprogramm = True Then Cells(Last, 25).Value = "R"
If UserForm2.CheckBox_Grobprogramm = True Then Cells(Last, 26).Value = "R"
If UserForm2.CheckBox_Etappierung = True Then Cells(Last, 27).Value = "R"
If UserForm2.CheckBox_InstallationLogistik = True Then Cells(Last, 28).Value = "R"
If UserForm2.CheckBox_BauablaufVideo = True Then Cells(Last, 29).Value = "R"
If UserForm2.CheckBox_Mengenüberprüfung = True Then Cells(Last, 30).Value = "R"
If UserForm2.CheckBox_DefinitionPauschale = True Then Cells(Last, 31).Value = "R"
If UserForm2.CheckBox_NPKNr = True Then Cells(Last, 32).Value = "R"
If UserForm2.CheckBox_Kalkulation = True Then Cells(Last, 33).Value = "R"
If UserForm2.CheckBox_Potential = True Then Cells(Last, 49).Value = "R"
If UserForm2.CheckBox_AGBs = True Then Cells(Last, 50).Value = "R"
If UserForm2.CheckBox_Ergänzung = True Then Cells(Last, 51).Value = "R"
If UserForm2.CheckBox_Kranoptik = True Then Cells(Last, 36).Value = "R"
If UserForm2.CheckBox_Personalplanung = True Then Cells(Last, 37).Value = "R"
If UserForm2.CheckBox_LeistungsabhängigeKosten = True Then Cells(Last, 38).Value = "R"
If UserForm2.CheckBox_SchalungBewehrungBeton = True Then Cells(Last, 39).Value = "R"
If UserForm2.CheckBox_Mauerwerk = True Then Cells(Last, 40).Value = "R"
If UserForm2.CheckBox_Planlieferprogramm = True Then Cells(Last, 41).Value = "R"
If UserForm2.CheckBox_Elementlieferprogramm = True Then Cells(Last, 42).Value = "R"
If UserForm2.CheckBox_Zahlungsplan = True Then Cells(Last, 43).Value = "R"
If UserForm2.CheckBox_TerminplanBL = True Then Cells(Last, 48).Value = "R"
'Userform3
If Userform3.CheckBox_BimModell = True Then Cells(Last, 53).Value = "R"
If Userform3.CheckBox_Architektenpläne = True Then Cells(Last, 54).Value = "R"
If Userform3.CheckBox_Ingenieurpläne = True Then Cells(Last, 55).Value = "R"
If Userform3.CheckBox_Etappierungspläne = True Then Cells(Last, 56).Value = "R"
If Userform3.CheckBox_Aushubplan = True Then Cells(Last, 57).Value = "R"
If Userform3.CheckBox_Kanalisation = True Then Cells(Last, 58).Value = "R"
If Userform3.CheckBox_Umgebungsplan = True Then Cells(Last, 59).Value = "R"
If Userform3.CheckBox_InstallationLogistik = True Then Cells(Last, 60).Value = "R"
If Userform3.CheckBox_MateriallisteStückliste = True Then Cells(Last, 61).Value = "R"
If Userform3.CheckBox_LeistungverzeichnisDevis = True Then Cells(Last, 62).Value = "R"
If Userform3.CheckBox_Werkvertrag = True Then Cells(Last, 63).Value = "R"
If Userform3.CheckBox_Grobterminplan = True Then Cells(Last, 64).Value = "R"
If Userform3.CheckBox_Bauablauf = True Then Cells(Last, 65).Value = "R"
If Userform3.CheckBox_BesondereBestimmungen = True Then Cells(Last, 66).Value = "R"
If Userform3.CheckBox_AGBs = True Then Cells(Last, 67).Value = "R"
If Userform3.CheckBox_Auflagen = True Then Cells(Last, 68).Value = "R"
If Userform3.CheckBox_GeologischesGutachten = True Then Cells(Last, 69).Value = "R"
If Userform3.CheckBox_Nutzungsvereinbarung = True Then Cells(Last, 70).Value = "R"
If Userform3.CheckBox_Kontrollplan = True Then Cells(Last, 71).Value = "R"
If Userform3.CheckBox_ARGLogo = True Then Cells(Last, 72).Value = "R"
UserForm4.Hide
End Sub
Private Sub Zurück_Click()
UserForm4.Hide
Userform3.Show
End Sub
was ist ein VBS Script? Wo stellt man das genau ein?
Code:
objExcel.Run "Test.xlsb!UserformExternAufrufen"
Gruß
Marcus
Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen.
Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.
03.03.2020, 13:50 (Dieser Beitrag wurde zuletzt bearbeitet: 03.03.2020, 13:50 von snb.)
Code:
Private Sub Workbook_open()
application.visible=false
Useform1.show
End sub
Code:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Sheet1.Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(UBound(listbos1.List) + 1, UBound(listbos1.List, 2)) = listbox1.List
Application.visible=true
End Sub