Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema OptionButton
BildScreenshot zu OptionButton OptionButton-Seite mit Beispielarbeitsmappe aufrufen

Formblatt automatisch ausfüllen

Betrifft: Formblatt automatisch ausfüllen von: Luca
Geschrieben am: 28.09.2020 09:27:57

https://www.herber.de/bbs/user/140479.xlsm



Hallo liebe Excel Freunde,


anbei habe ich eine Datei angehängt, in der Ich das Formblatt "Herstellbarkeitsanalyse" automatisch ausfüllen lassen möchte. Hierzu soll nur oben die laufende Nummer eingegeben werden, und dann die entsprechenden Daten aus dem Tabellenblatt "technische Daten" eingefügt werden.


Ist das machbar?


Vielen Dank für eure Hilfe im Voraus!


LG Luca

Betrifft: AW: Formblatt automatisch ausfüllen
von: Pascal
Geschrieben am: 28.09.2020 09:59:19

Hi Luca,

ist das nach deinen Vorstellungen?

=WENN(ISTFEHLER(INDEX('technische Daten'!A:AB;VERGLEICH(Herstellbarkeitsanalyse!C4; 'technische Daten'!A:A;0);X));"Lfd.-Nr. angeben";INDEX('technische Daten'!A:AB; VERGLEICH(Herstellbarkeitsanalyse!C4;'technische Daten'!A:A;0);X))

X ist dabei die "Nummer" der Spalte in der, der gewünschte Wert steht (A=1, B=2, ...)
Ansonsten sucht die Formel einfach nach einer Übereinstimmung zwischen der eingegebenen Nummer und den Nummern in Spalte a des Blattes "technische Daten".

https://www.herber.de/bbs/user/140480.xlsm

Beste Grüße
Pascal

Betrifft: AW: Formblatt automatisch ausfüllen
von: Pascal
Geschrieben am: 28.09.2020 10:04:30

Noch einmal ohne Schreibfehler bei der letzten Formel.

https://www.herber.de/bbs/user/140481.xlsm

Ich musste außerdem z. B. bei "Werkstoff" die Datenüberprüfung abschalten um eine Formel einfügen zu können...

Betrifft: AW: Formblatt automatisch ausfüllen
von: UweD
Geschrieben am: 28.09.2020 10:35:08

Hallo

viel Arbeit

- Rechtsclick auf den Tabellenblattreiter von Herstellbarkeitsanalyse
- Code anzeigen
- Code dort reinkopieren

Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo Fehler
    Const APPNAME = "Worksheet_Change"
    Dim TB As Worksheet, Zeile As Long
    
    
    Set TB = Sheets("technische Daten")
    
    With ActiveSheet
        If Target.Count = 1 And Target = .Range("C4") Then
            If WorksheetFunction.CountIf(TB.Columns(1), Target) > 0 Then
                Zeile = WorksheetFunction.Match(Target, TB.Columns(1), 0)
                
                Application.EnableEvents = False
                'Kopfangaben***
                .Range("C5") = TB.Cells(Zeile, 2) 'lesen aus Spalte B
                .Range("C6") = TB.Cells(Zeile, 3)
                .Range("C7") = TB.Cells(Zeile, 4)
                .Range("C8") = TB.Cells(Zeile, 5)
                '.... usw.
                
                'zu 2)***
                .Range("L15") = TB.Cells(Zeile, 13)
                'erst alle aus
                .Shapes("Kontrollkästchen 2").ControlFormat.Value = xlOff
                .Shapes("Kontrollkästchen 3").ControlFormat.Value = xlOff
                .Shapes("Kontrollkästchen 4").ControlFormat.Value = xlOff
                
                Select Case TB.Cells(Zeile, 14)
                        
                    Case "ja"
                        .Shapes("Kontrollkästchen 2").ControlFormat.Value = xlOn
                        
                    Case "nein"
                        .Shapes("Kontrollkästchen 3").ControlFormat.Value = xlOn
                        
                    Case "bedingt"
                        .Shapes("Kontrollkästchen 4").ControlFormat.Value = xlOn
                
                End Select
                
                'zu 3)***
                .Range("L18") = TB.Cells(Zeile, 15)
                'usw.
                
                
            Else
                MsgBox "Keiner Werte gefunden"
            End If
        End If
    End With
    
    '*** Fehlerbehandlung
    Err.Clear
Fehler:
    Application.EnableEvents = True
    If Err.Number <> 0 Then MsgBox "Fehler in Sub """ & APPNAME & """" & vbCrLf _
        & "Fehlernummer: " & Err.Number & vbLf & Err.Description: Err.Clear
End Sub
Tipp:
Anstelle von 3 Kontrollkästchen solltest du Optionbuttons nehmen, es ist doch immer nur eine Möglichkeit gegeben.. das vereinfacht dern Code


LG UweD

Betrifft: AW: Formblatt automatisch ausfüllen
von: Luca
Geschrieben am: 28.09.2020 10:53:12

Hallo, vielen Dank das hat mir schon weitergeholfen.

Ich habe jetzt Optionsfelder anstatt der Kontrollkästchen eingefügt, wie kann ich diese automatisch aktivieren bzw. deaktivieren lassen?

LG

Betrifft: AW: Formblatt automatisch ausfüllen
von: Luca
Geschrieben am: 28.09.2020 10:53:14

Hallo, vielen Dank das hat mir schon weitergeholfen.

Ich habe jetzt Optionsfelder anstatt der Kontrollkästchen eingefügt, wie kann ich diese automatisch aktivieren bzw. deaktivieren lassen?

LG

Betrifft: AW: Formblatt automatisch ausfüllen
von: UweD
Geschrieben am: 28.09.2020 11:15:33

Hallo

- nimm die Buttons aus dem ActiveX Bereich
- z.B. bei "2 Toleranz" dann 3 Stück plazieren
- diese 3 mit Strg zusammen markieren, Bei Eigenschaften dann GroupName z.B. T2 eintragen

- Das gleiche bei 4 und 5..
- Du musst für jede Zeile eine eigene Gruppe bilden
- Je Gruppe ist dann automatisch nur einer möglich


Der Code ändert sich dann wie folgt
                'zu 2)***
                .Range("L15") = TB.Cells(Zeile, 13)
                
                .OptionButton1.Value = TB.Cells(Zeile, 14) = "ja"
                .OptionButton2.Value = TB.Cells(Zeile, 14) = "nein"
                .OptionButton3.Value = TB.Cells(Zeile, 14) = "bedingt"
                        
                 
                'zu 3)***
                .Range("L18") = TB.Cells(Zeile, 15)
                'usw.