An Manuela M

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

Betrifft: An Manuela M
von: Ilka Maria
Geschrieben am: 21.11.2003 17:07:02

Hallo Manuela,

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

Gruß
Ilka Maria

Bild


Betrifft: AW: An Manuela M
von: ManuelaM
Geschrieben am: 23.11.2003 23:14:08

Hallo,

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

Alles weitere in der Datei.

Gruß Manu


Bild


Betrifft: AW: An Manuela M
von: Ilka Maria
Geschrieben am: 24.11.2003 08:33:01

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


Bild


Betrifft: AW: An Manuela M
von: Reinhard
Geschrieben am: 24.11.2003 13:36:40

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



Bild


Betrifft: AW: An Manuela M
von: Ilka Maria
Geschrieben am: 24.11.2003 16:04:29

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


Bild


Betrifft: AW: An Manuela M
von: ManuelaM
Geschrieben am: 24.11.2003 14:07:05

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


Bild


Betrifft: AW: An Manuela M
von: Ilka Maria
Geschrieben am: 24.11.2003 16:03:07

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


Bild

Beiträge aus den Excel-Beispielen zum Thema " Datum suchen und eintragen"