Microsoft Excel

Herbers Excel/VBA-Archiv

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

Objekt nach Angabe von Maßen erstellen | Herbers Excel-Forum


Betrifft: Objekt nach Angabe von Maßen erstellen von: Jan
Geschrieben am: 19.01.2010 18:13:34

Nabend!

Kurze Erläuterung:
In meiner Ausbildungsfirma bin ich im Moment im Versand tätig. Wenn wir dort mehrere LKW's für einen Auftrag verschicken, planen wir die Anordnung der Maschinen per Skizze. Halt alles per Hand und das ist sehr aufwendig, soll ja auch genau sein.
Ich habe mir es zur Aufgabe gemacht diesen "Beladeplan" in Excel zu überarbeiten und mit möglichst wenigen Mausklicks oder Eingaben den selben Beladeplan zu erstellen. Nur in schöner und schneller.

Lösungswunsch:
Am Besten wäre es natürlich, wenn ich die Maße und die Namen der Maschinen in eine Excel-Liste eingeben könnte und Excel mir mitHilfe eines Makros dann sämtliche Maschinen mit ihren Maßen und Namen erstellen würde, sodass ich die Objekte nur noch nehmen und zu den entsprechenden Stellplätzen schieben brauch.

Nur leider bin ich kein Excel-Programmierer und weis daher auch nicht ob das überhaupt möglich ist. Ein Arbeitskollege hat mir diese Seite hier empfohlen.
Es wäre echt klasse, wenn mir jemand weiter helfen könnte.

Gruß,
Jan

  

Betrifft: AW: Objekt nach Angabe von Maßen erstellen von: Christian
Geschrieben am: 19.01.2010 21:11:12

Hallo Jan,
wenn du die Abmaße (Länge x Breite) der Maschinen als Rechtecke erzeugen willst, dann ist das kein großer Aufwand. Diese per VBA erzeugten Rechtecke könntest du dann in einem anderen großen Rechteck (entspricht der Ladefläche) manuell plazieren. Für eine etwaigen maßstäblichen Ausdruck passt das allerdings nicht, da Excel mit Points rechnet und nicht mit Zentimeter.
Wenn wir aber sowohl die Abmaße der Maschinen als auch die Ladefläche in Points darstellen, passt das ganze wieder, solange wir in Excel bleiben. Ein Beispiel:

https://www.herber.de/bbs/user/67333.xls

gib mir Bescheid, wie du damit zurecht kommst.
Gruß
Christian


  

Betrifft: AW: Objekt nach Angabe von Maßen erstellen von: Jan
Geschrieben am: 20.01.2010 08:42:18

Hi Christian!

Fürs erste bin ich total begeistert. Ich hätte nicht gedacht, dass Excel dazu fähig ist.

Kann man das Problem mit den Points nicht einfach beheben indem man per Formel die Maßeinheiten direkt umrechnen lässt. Ich habe in der Datei bei den Maßangaben jeweils eine Spalte mit den Pointsangaben hinzugefügt. Nun könnte Excel doch mit den Werten arbeiten, oder?

Nur bräuchte ich auf dem Beladeplan dann die Zentimeter- bzw. Meterangaben. Meinste das wäre möglich, dass Excel sich dann weiterhin noch auf diese Zellen bezieht?

Zusätzlich wäre es dann natürlich super, wenn die LKW's nebeneinander auftauchen würden. Da es eine Norm für die Breite der LKW's gibt, könnte das klappen, oder?

https://www.herber.de/bbs/user/67338.xls

Ich habe alles was ich geändert habe grün makiert.

Danke für deine Hilfe!


  

Betrifft: AW: Objekt nach Angabe von Maßen erstellen von: Christian
Geschrieben am: 20.01.2010 11:33:43

Hallo Jan,
deine Umrechnung Points zu Zentimeter stimmt aber nur für die Höhe, daher wirst du beim Ausdruck das selbe Problem haben. Aber wer druckt heute schon noch auf Papier - isch habe gar kein Drucker...
Anyway, ich hab das mal eingebaut - Basis sind die Tabellen aus meinem ersten Beispiel.
Gruß
Christian

Option Explicit

Sub Ladung()
    Dim sh As Shape, i As Long, j As Long, strTxt As String
    Dim sngTop As Single, sngLeft As Single, sngMax As Single
    Dim sngWidth As Single, sngHeight As Single
   
    Const DST As Single = 15
    Const PTS As Single = 28.35
   
    For Each sh In shErgebnis.Shapes
        sh.Delete
    Next

    With shLadeflaeche
        sngTop = DST
        sngLeft = DST
        For i = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row
            sngHeight = .Cells(i, 2).Value * PTS
            sngWidth = .Cells(i, 3).Value * PTS
            strTxt = .Cells(i, 1) & " " & sngHeight / PTS & "x" & sngWidth / PTS
            Set sh = shErgebnis.Shapes.AddShape(1, sngLeft, sngTop, sngWidth, sngHeight)
            sh.TextFrame.Characters.Text = strTxt
            sh.Fill.ForeColor.SchemeColor = 22
            sngLeft = sngLeft + sngWidth + DST
            sngMax = IIf(sngMax < sngHeight, sngHeight, sngMax)
        Next
    End With
    
    With shAbmasse
        sngTop = sngMax + 2 * DST
        sngLeft = DST
        For i = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row
            sngHeight = .Cells(i, 2).Value * PTS
            sngWidth = .Cells(i, 3).Value * PTS
            strTxt = .Cells(i, 1) & vbLf & sngHeight / PTS & "x" & sngWidth / PTS
            For j = 1 To .Cells(i, 4)
                Set sh = shErgebnis.Shapes.AddShape(1, sngLeft, sngTop, sngWidth, sngHeight)
                sh.TextFrame.Characters.Text = strTxt
                sh.Fill.ForeColor.SchemeColor = 43
                sh.ZOrder 0
                sngTop = sngTop + sngHeight + DST
            Next
        Next
    End With
    Set sh = Nothing
    shErgebnis.Activate
    ActiveWindow.DisplayGridlines = False
End Sub



  

Betrifft: AW: Objekt nach Angabe von Maßen erstellen von: Jan
Geschrieben am: 21.01.2010 17:05:37

Hi!

Danke für deine erneute schnelle Hilfe, die ich aber nochmal benötige. Da ich absolut keine Erfahrung beim Programmieren von Excel-Dateien habe und ich die Formatierungen nicht so ändern kann, wie sie beim Ausdruck dann am Besten aussehen würde, wäre ich dir sehr dankbar wenn du mir nochmal helfen könntest.

https://www.herber.de/bbs/user/67395.xls

Ich habe das Ergebnis so formatiert wie es am Besten nach Betätigen des Makro-Buttons aussehen sollte.
Die LKW's nebeneinander, die Schrift ein wenig größer und den Text zentriert. Desweiteren könnten im Tabellenblatt "Abmaße" die Anzahl entfernt und eine Zusatzbemerkung hinzugefügt werden (z.B. für alternativen Ladeort).

Wenn du diese Änderungen noch vollziehen könntest, wäre ich dir höchst dankbar!!

Gruß,
Jan


  

Betrifft: AW: Objekt nach Angabe von Maßen erstellen von: Jan
Geschrieben am: 21.01.2010 17:08:13

Hi!

Danke für deine erneute schnelle Hilfe, die ich aber nochmal benötige. Da ich absolut keine Erfahrung beim Programmieren von Excel-Dateien habe und ich die Formatierungen nicht so ändern kann, wie sie beim Ausdruck dann am Besten aussehen würde, wäre ich dir sehr dankbar wenn du mir nochmal helfen könntest.

https://www.herber.de/bbs/user/67395.xls

Ich habe das Ergebnis so formatiert wie es am Besten nach Betätigen des Makro-Buttons aussehen sollte.
Die LKW's nebeneinander, die Schrift ein wenig größer und den Text zentriert. Desweiteren könnten im Tabellenblatt "Abmaße" die Anzahl entfernt und eine Zusatzbemerkung hinzugefügt werden (z.B. für alternativen Ladeort).

Wenn du diese Änderungen noch vollziehen könntest, wäre ich dir höchst dankbar!!

Gruß,
Jan


  

Betrifft: AW: Objekt nach Angabe von Maßen erstellen von: Jan
Geschrieben am: 21.01.2010 17:09:14

Hi!

Danke für deine erneute schnelle Hilfe, die ich aber nochmal benötige. Da ich absolut keine Erfahrung beim Programmieren von Excel-Dateien habe und ich die Formatierungen nicht so ändern kann, wie sie beim Ausdruck dann am Besten aussehen würde, wäre ich dir sehr dankbar wenn du mir nochmal helfen könntest.

https://www.herber.de/bbs/user/67395.xls

Ich habe das Ergebnis so formatiert wie es am Besten nach Betätigen des Makro-Buttons aussehen sollte.
Die LKW's nebeneinander, die Schrift ein wenig größer und den Text zentriert. Desweiteren könnten im Tabellenblatt "Abmaße" die Anzahl entfernt und eine Zusatzbemerkung hinzugefügt werden (z.B. für alternativen Ladeort).

Wenn du diese Änderungen noch vollziehen könntest, wäre ich dir höchst dankbar!!

Gruß,
Jan


  

Betrifft: AW: Objekt nach Angabe von Maßen erstellen von: Christian
Geschrieben am: 21.01.2010 20:21:51

Hallo,
ich bin eigentlich nicht dafür, Komplett-Lösungen anzubieten, der Fragesteller lernt dabei so wenig ...aber da ich schon mal dabei bin...
Btw - es macht IMHO wenig Sinn, die Schriftgröße erst zu verdoppeln und anschließend den Zoom zu halbieren. Ich hab das im Code über den Skalierungfaktor "SCL" abgefangen.
Wenn du den Text der "Bemerkung" nicht in den Shapes haben willst, dann kommentiere die Zeile mit "Bermerkung" im Script aus.

Gib mir Bescheid, wie du damit zurecht kommst.
https://www.herber.de/bbs/user/67401.xls

Gruß
Christian


  

Betrifft: AW: Objekt nach Angabe von Maßen erstellen von: Jan
Geschrieben am: 24.01.2010 21:19:38

Hi!

Ich komme damit wunderbar zurecht.
Deiner Einstellung stimme ich soweit auch zu, nur ich muss die Datei bis Ende nächster Woche fertig gestellt haben und daher hatte ich nicht mehr die Zeit mir das mit dem Programmieren noch bei zu bringen. Daher bin/war ich total auf fremde Hilfe angewiesen, das aber auch sehr gut geklappt hat. ;)

Vorerst habe ich dann jetzt auch keinerlei Fragen mehr. Morgen soll die Datei zum ersten Mal eingesetzt werden. Mal gucken, wie zufrieden meine Kollegen damit sind. Falls dann noch Änderungswünsche auftreten sollten melde ich nochmal. Ansonsten kann ich mich bei dir immer wieder nur bedanken!!

Gruß,
Jan



  

Betrifft: AW: Objekt nach Angabe von Maßen erstellen von: Jan
Geschrieben am: 25.01.2010 12:49:04

Hey!

Wie es immer so ist, gäbe es nun doch noch etwas, dass geändert werden könnte.. es ist aber auch nicht mehr so viel, glaube ich. Ich habe es schon selber versucht zu ändern, aber ich habe es nicht hingekriegt, aber ich bin mir sicher, dass du mir weiterhelfen kannst.

https://www.herber.de/bbs/user/67463.xls

Es wäre nämlich super, wenn der Maschinenname fett und die Maße darunter kursiv wären. Sieht einfach schöner aus!
Was muss ich dazu machen?

Gruß,
Jan


Beiträge aus den Excel-Beispielen zum Thema "Objekt nach Angabe von Maßen erstellen"