Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
340to344
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
340to344
340to344
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

An Manuela M

An Manuela M
21.11.2003 17:07:02
Ilka Maria
Hallo Manuela,

gespannt warte ich nun auf Deine Antwort, nachdem auch diese kleine Hürde genommen ist.

Gruß
Ilka Maria

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: An Manuela M
24.11.2003 08:33:01
Ilka Maria
Guten Morgen, Manuela,

herzlichen Dank für Deine umfangreiche Arbeit.
Dies geht weit über das hinaus, was ich an Hilfeleistung erwarten konnte.
Ich danke Dir.

Den Code will ich mir in Ruhe ansehen und verstehen lernen. Bei einem Test ist mir folgendes aufgefallen:

Bei einer Raumbreite 1,06 m, Raumlänge 1,57 m, Fuge 1 cm, Fliesenbreite 20 cm, Fliesenlänge 25 cm wurde folgendes ermittelt:

Länge 7
Breite 6
Anzahl 42.

Ich komme rechnerisch auf eine Anzahl in der Länge von 6.
6 * 25 = 150 + 7 Fugen = 1,57 m,
in der Breite auf 5.

Habe ich etwas übersehen?

Vielleicht findest Du die Zeit, kurz darauf einzugehen.

Dank im Voraus.

Gruß
Ilka Maria
Anzeige
AW: An Manuela M
24.11.2003 13:36:40
Reinhard
Hi Ilka,
tausche bitte diese 2 Zeilen:
AnzahlBreite = WorksheetFunction.RoundUp(Raumbreite / (Fliesenbreite + Fuge), 0)
AnzahlLänge = WorksheetFunction.RoundUp(Raumlänge / (Fliesenlänge + Fuge), 0)

gegen das Folgende aus.

AnzahlLänge = 1
While (AnzahlLänge * ws.[d3] * 10 + (AnzahlLänge + 1) * ws.[e3]) < ws.[b3] * 1000
AnzahlLänge = AnzahlLänge + 1
Wend
AnzahlBreite = 1
While (AnzahlBreite * ws.[c3] * 10 + (AnzahlBreite + 1) * ws.[e3]) < ws.[a3] * 1000
AnzahlBreite = AnzahlBreite + 1
Wend
Gruß
Reinhard
ps: für alle Interessierte, darum gehts:
A      B     C     D        E
Raum          Fliese    Fuge
Breite Länge Breite Länge   Breite
1,06m 1,57m 20,00cm 25,00cm 10,00 mm
Länge
6
Breite
5
Fliesen
30
Option Explicit
Dim ws As Worksheet, Raumbreite As Double, Raumlänge As Double
Dim Fliesenbreite As Double, Fliesenlänge As Double
Dim links As Double, oben As Double
Dim Restbreite As Double, Restlänge As Double, Fuge As Double
Dim bolGrundfläche As Boolean, bolFliesen As Boolean
Const MASSSTAB As Double = 2
Sub Grundfläche()
If bolGrundfläche Then Exit Sub
Dim Sh As Shape
Call setten
Raumbreite = ws.[a3] * 100 * MASSSTAB
Raumlänge = ws.[b3] * 100 * MASSSTAB
ws.[a5] = 0
ws.[a7] = 0
ws.[a9] = 0
links = 50
oben = 50
Set Sh = ActiveSheet.Shapes.AddShape(msoShapeRectangle, links, oben, Raumlänge, Raumbreite)
With Sh
.Fill.Visible = msoTrue
.Fill.Solid
.Fill.ForeColor.SchemeColor = 22
.Line.Visible = msoFalse
End With
bolGrundfläche = True
End Sub
Sub Fliesen()
If Not bolGrundfläche Then Exit Sub
If bolFliesen Then Exit Sub
Dim Sh As Shape, AnzahlBreite As Double, AnzahlLänge As Double, fv As Long, fh As Long
Call setten
Fliesenbreite = ws.[c3] * MASSSTAB
Fliesenlänge = ws.[d3] * MASSSTAB
Fuge = (ws.[e3] / 10) * MASSSTAB
'MsgBox Fuge
'Exit Sub
'AnzahlBreite = WorksheetFunction.RoundUp(Raumbreite / (Fliesenbreite + Fuge), 0)
'AnzahlLänge = WorksheetFunction.RoundUp(Raumlänge / (Fliesenlänge + Fuge), 0)
AnzahlLänge = 1
While (AnzahlLänge * ws.[d3] * 10 + (AnzahlLänge + 1) * ws.[e3]) < ws.[b3] * 1000
AnzahlLänge = AnzahlLänge + 1
Wend
AnzahlBreite = 1
While (AnzahlBreite * ws.[c3] * 10 + (AnzahlBreite + 1) * ws.[e3]) < ws.[a3] * 1000
AnzahlBreite = AnzahlBreite + 1
Wend
ws.[a5] = AnzahlLänge
ws.[a7] = AnzahlBreite
ws.[a9] = AnzahlLänge * AnzahlBreite
links = 50 + Fuge
oben = 50 + Fuge
Application.ScreenUpdating = False
For fh = 1 To AnzahlBreite
For fv = 1 To AnzahlLänge
Set Sh = ActiveSheet.Shapes.AddShape(msoShapeRectangle, links, oben, Fliesenlänge, Fliesenbreite)
Sh.Fill.PresetTextured 13
Sh.Line.Visible = msoFalse
links = links + (Fuge + Fliesenlänge)
Next
links = 50 + Fuge
oben = oben + (Fuge + Fliesenbreite)
Next
Application.ScreenUpdating = True
bolFliesen = True
End Sub
Sub löschen()
Dim Sh As Shape
Call setten
For Each Sh In ws.Shapes
If Sh.Type = 1 Then Sh.Delete
Next
bolFliesen = False
bolGrundfläche = False
End Sub
Private Sub setten()
If ws Is Nothing Then Set ws = Sheets("Fliesen")
End Sub

Anzeige
AW: An Manuela M
24.11.2003 16:04:29
Ilka Maria
Hallo,

vielen Dank für Deinen Beitrag, den ich inzwischen getestet und dabei Folgendes festgestellt habe:

Gibt man als Raumbreite 1,20 m, als Raumlänge 1,75 m bei einer Fliesenbreite von 20 cm, einer Fliesenlänge von 25 cm und einer Fugenbreite von 20 mm ein, so werden an der rechten Seite und am unteren Rand extrem starke Fugen angezeigt.
Ändert man die Raumbreite auf 1,21 m und die Raumlänge auf 1,76 m , so wird die Fliesenzahl von 30 auf 42 erhöht und die Darstellung entspricht der notwendigen Verlegung.
Eigentlich sollten 42 Fliesen schon bei einer kleineren Raumbreite und Raumlänge nötig werden.
Woran liegt denn der Effekt, dass die Fugen immer breiter werden bis sie von Fliesen "ersetzt" werden?

Ich bin noch immer dabei, mir den Code klar zu machen, was dank eines guten Buches so peu à peu gelingt.

Einen schönen Abend.

Gruß
Ilka Maria
Anzeige
AW: An Manuela M
24.11.2003 14:07:05
ManuelaM
Hallo,

ändere diese 2 Zeilen:

AnzahlBreite = WorksheetFunction.RoundUp(Raumbreite / (Fliesenbreite + Fuge), 0)
AnzahlLänge = WorksheetFunction.RoundUp(Raumlänge / (Fliesenlänge + Fuge), 0)

in:

AnzahlBreite = WorksheetFunction.Round(Raumbreite / (Fliesenbreite + Fuge), 0)
AnzahlLänge = WorksheetFunction.Round(Raumlänge / (Fliesenlänge + Fuge), 0)

Gruß Manu
AW: An Manuela M
24.11.2003 16:03:07
Ilka Maria
Hallo,

vielen Dank für Deinen Beitrag, den ich inzwischen getestet und dabei Folgendes festgestellt habe:

Gibt man als Raumbreite 1,20 m, als Raumlänge 1,75 m bei einer Fliesenbreite von 20 cm, einer Fliesenlänge von 25 cm und einer Fugenbreite von 20 mm ein, so werden an der rechten Seite und am unteren Rand extrem starke Fugen angezeigt.
Ändert man die Raumbreite auf 1,21 m und die Raumlänge auf 1,76 m , so wird die Fliesenzahl von 30 auf 42 erhöht und die Darstellung entspricht der notwendigen Verlegung.
Eigentlich sollten 42 Fliesen schon bei einer kleineren Raumbreite und Raumlänge nötig werden.
Woran liegt denn der Effekt, dass die Fugen immer breiter werden bis sie von Fliesen "ersetzt" werden?

Ich bin noch immer dabei, mir den Code klar zu machen, was dank eines guten Buches so peu à peu gelingt.

Einen schönen Abend.

Gruß
Ilka Maria
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige