Montageprozess mit Excel darstellen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Montageprozess mit Excel darstellen
von: Django Djang
Geschrieben am: 20.05.2015 08:39:46

Hallo zusammen,
ich habe eine Excel Tabelle erstellt, in der die Informationen über das in der Montage eingesetzte Equipment aufgelistet ist.
Dieses ist in 10 Kategorien unterteilt, neben dem eingesetzten Equipment steht in der Tabelle auch, wo es sich befindet (rechts, links) und (vorne, hinten, mitte).
Ich möchte nun direkt aus der Tabelle ein Process Layout erstellen. Dieses kann ich soweit auch übernehmen. Alle Montagestationen sind im Prinzip in einem Excel-Blatt eingezeichnet. Jede Montagestation besteht aus mehreren Zellen.
Was ich mir vorstelle, wenn ich aus der Tabelle entnehme, dass an Montagestation Bohrer XYZ auf der rechten Seite in der Mitte steht, soll die entsprechende Zelle (rechts in der Mitte) eingefärbt werden und z.B. Bohrer XYZ darin stehen.
Das ganze könnte ich mit bedingten Formatierungen hinkriegen, wollte aber mal hören, ob jemand ne Idee mit VBA hat. Soweit bin ich mit den Youtube-Videos noch nicht gekommen, als dass ich es schon selbst könnte :-)
Vielen Dank

Bild

Betrifft: AW: Montageprozess mit Excel darstellen
von: UweD
Geschrieben am: 20.05.2015 09:43:12
Hallo
hier wäre eine Musterdatei (Daten und Wunschaussehen) hilfreich.

Bild

Betrifft: AW: Montageprozess mit Excel darstellen
von: Django Djang
Geschrieben am: 22.05.2015 14:00:29
Hallo ich habe jetzt noch mal dran gewerkelt und fast gedacht ich hätte es hinbekommen, aber leider ist es noch nicht optimal. Ich hänge mal eine Datei an.
In Tabelle2 seht ihr die Liste, in der ich die Informationen eintrage. Daraus möchte ich dann direkt die Montage Station erstellen. Ein Beispiel habe ich rechts daneben hin gemalt. 10 Felder auf jeder Seite wären perfekt.
In Tabelle1 habe ich das ganze mal probiert mit Formeln darzustellen, da muss ich dann aber für jedes Feld aus der Liste auch ein Feld an der Station vorsehen, das wird dann echt zu groß.
Vielleicht gibt es ja eine gute Möglichkeit mit VBA.
Achso was mein größtes Problem ist, ich weiß nicht wie ich Excel sagen soll, dass er das nächste freie Feld an der Station, mit dem nächsten Eintrag aus der Liste füllen soll und das Feld dann beschriften und einfärben soll.
Am besten wäre es wenn die Stationen auf den Seiten (links/recht) von Außen nach Innen befüllt werden, also wie gesagt 10 Felder auf jeder Seite. Das reicht locker.
Die Tabelle deckt auch deutlich mehr ab als vorkommen wird, es kann durch aus vorkommen, dass nur eine Kategorie mit einem Eintrag ausgefüllt wird.
https://www.herber.de/bbs/user/97784.xlsx
Ich bin für jeden Tipp dankbar.
Viele Grüße

Bild

Betrifft: AW: Montageprozess mit Excel darstellen
von: UweD
Geschrieben am: 22.05.2015 16:01:05
Hallo
so ?

Sub Maschine()
    Const SP1 As Integer = 10 'Spalte J
    Const ZR As Integer = 4 'Zeile für rechts
    Const ZL As Integer = 8 'Zeile für links
    Dim Zelle As Range
    Dim i As Double, LR As Double, LC As Integer
    Application.ScreenUpdating = False
    
    
    With ActiveSheet
      '* Rücksetzen
        LC = Application.Max(SP1, .Cells(ZR, Columns.Count).End(xlToLeft).Column + 1)
        .Range(Cells(ZR, SP1), Cells(ZR, LC)).Interior.Pattern = xlNone
        .Range(Cells(ZR, SP1), Cells(ZR, LC)).ClearContents
        LC = Application.Max(SP1, .Cells(ZL, Columns.Count).End(xlToLeft).Column + 1)
        .Range(Cells(ZL, SP1), Cells(ZL, LC)).Interior.Pattern = xlNone
        .Range(Cells(ZL, SP1), Cells(ZL, LC)).ClearContents
       '* Ende Rücksetzen
       
        For Each Zelle In Columns("C").SpecialCells(xlCellTypeConstants, 2).Cells
            If Zelle = "left" Then
                LC = Application.Max(SP1, .Cells(ZL, Columns.Count).End(xlToLeft).Column + 1) ' _
nächste Freie Zelle
                .Cells(ZL, LC) = Zelle.Offset(0, -1)
                .Cells(ZL, LC).Interior.Color = Zelle.Offset(0, -2).Interior.Color
            End If
            If Zelle = "right" Then
                LC = Application.Max(SP1, .Cells(ZR, Columns.Count).End(xlToLeft).Column + 1)
                .Cells(ZR, LC) = Zelle.Offset(0, -1)
                .Cells(ZR, LC).Interior.Color = Zelle.Offset(0, -2).Interior.Color
            End If
        Next
    End With
    Err.Clear
Fehler:
    If Err.Number <> 0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err.Clear
End Sub
Gruß UweD

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Montageprozess mit Excel darstellen"