Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1608to1612
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
Inhaltsverzeichnis

Druckt alles in selbe Zeile und überschreibt

Druckt alles in selbe Zeile und überschreibt
23.02.2018 11:17:23
urs
Guten Tag
Ich stehe mit meinen VBA Kenntnissen an. In der nachfolgenden Routine werden die erhaltenen Werte alle in Zeile 58 überschrieben und zwar Spalte für Spalte.
Eigentlich war angedacht, dass der berechnete Wert auch in der Zeilennummer des dazugehörigen i geschrieben wird.
Was habe ich falsch gemacht? Bitte um Hilfe / Korrektur Gruss Urs
  • 
    Sub Belegungsplan()
    Dim i As Integer, n As Integer, s As Integer, z As Integer, kleiner As Long
    For s = 10 To 14        '38
    For z = 19 To (18 + Cells(13, s))
    Range("J30") = 360 / Cells(13, s) * Cells(z, 5)     'Errechneter Winkel des aktuellen  _
    Rowings
    For i = 19 To 57
    If Range("B" & i).Value 

  • 9
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Druckt alles in selbe Zeile und überschreibt
    23.02.2018 11:45:00
    Rainer
    Hallo Urs,
    Das ist doch richtig bei deinem Code.
    Du schreibst in die Zellen mit
    
    Cells(i,s)=...
    
    . Zu diesem Zeitpunkt ist deine dritte Schleife (welche i als Zählvariable benutzt) schon fertig. Also kann sich auch "i" nicht mehr ändern.
    Gruß,
    Rainer
    PS: Wie findest du URS Media Player v2?
    AW: Druckt alles in selbe Zeile und überschreibt
    23.02.2018 12:16:55
    urs
    Hallo Rainer
    Zuerst zu Deinem PS. Ich habe ein ganz schlechtes Gewissen. Ich habe echt Deinen V2-Beitrag übersehen. Ich habe Ihn jetzt kurz angesehen. Er sieht gut aus, aber ich muss ihn mir übers Wochenende zu Gemüte führen. -- Normalerweise bedanke ich mich nämlich schon für die Hilfen. Also danke erstmal für Dein Nachfragen.
    So nun zum jetzigen Problem. Du hast Recht. Also in den i Schlaufen schreibt er alles in einen Kontainer und am Schluss macht er den Kontainer wieder leer, weil er aber dann auf Zeile i=58 steht überschreibt er fortlaufend.
    Wie bekommen ich fertig, dass er sich nicht nur den errechneten Wert speichert sonder auch noch den Wert des zugehörigen i? und wie ruft man diese Werte dann wieder ab? Hast Du mir einen Tip?
    Vielen Dank und Gruss urs
    Anzeige
    Bitte warten, bin dabei Neues zu testen OT
    23.02.2018 12:36:25
    urs
    OT
    Problem besteht immer noch, anders lösbar?
    23.02.2018 14:14:12
    urs
    Hallo bin wieder da. Meine Versuche fruchteten nichts dafür habe ich eine kleine Datei hochgeladen in der Ausgangslage und Wunsch dargestellt ist. https://www.herber.de/bbs/user/120024.xlsx
    Das effektive Blatt umfasst ca 1600 Zellen. Vermutlich ist das Anschauungsbeispiel informationsträchtiger als die vorhergegangenen Beschreibungen.
    Vielen Dank für Eure Hilfe. Gruss Urs
    AW: Problem besteht immer noch, anders lösbar?
    23.02.2018 17:52:48
    Rainer
    Hallo Urs,
    kannst du es detaillierter Beschreiben und bitte die Lösung "von Hand" einfügen?
    Dann finde ich vermutlich schneller raus was du genau willst. Bis jetzt verstehe ich nur Bahnhof.
    Gruß,
    Rainer
    Anzeige
    AW: Problem besteht immer noch, anders lösbar?
    26.02.2018 13:20:07
    urs
    Hallo, hier nun die komplette Datei. https://www.herber.de/bbs/user/120069.xlsm
    Auf einer Verteil-Scheibe sind 38 Öffnungen auf einem vorgegebenen Kreis regelmässig verteilt.
    Durch diese Öffnungen sollen X Bänder möglichst regelmässig verteilt werden. (Die X-Werte stehen in Zeile 13)
    Das Blatt „Übersicht“ funktioniert mit dem dazugehörenden Makro „Übersicht“. Löscht man „J19-AM38“ und startet das Makro werden die Zellen wieder ausgefüllt. Damit sind alle Werte schon mal vorhanden. In den Spalten J(+y*2) stehen die Lochwinkel. In den Spalten K(+y*2) die dazugehörigen Abweichungen in ° vom theoretisch korrekten Winkel. Diese Darstellung gefällt mir aber gar nicht.
    Da ich aber die Bänder direkt dem Verteilloch zuordnen will, versuche ich im Blatt „Belegungsplan“ das zu erreichen. Für die Werte X=2; 3; 4; 5; 21 habe ich im Blatt „Belegungsplan_ausgefüllt“ die Werte eingetragen. Ich sehe, dass es ein logisches Problem sein muss, aber ich steh mir selber auf dem Schlauch.
    Vermutlich seht ihr auf einen Blick wo ich in die Sackgasse gerannt bin.
    Jetzt schon vielen Dank für Eure Lichtblicke. Gruss Urs
    @Rainer : wo soll „Urs V2“ weiterdiskutiert werden?
    Anzeige
    AW: Problem besteht immer noch, anders lösbar?
    26.02.2018 15:39:31
    Rainer
    Hallo Urs,
    schau dir mal die Datei an. https://www.herber.de/bbs/user/120076.xlsm
    Ich habe es erstmal mit Formeln probiert, ohne VBA.
    Ist im Blatt "Belegungsplan" die untere Tabelle richtig ausgefüllt?
    Gruß,
    Rainer
    PS: Mache für den "URS Media Player" einen neuen Betrag auf und verlinke zum alten Betrag, dort können wir uns dazu weiter austauschen.
    Danke für die Hilfe
    27.02.2018 13:50:57
    urs
    Hallo Rainer
    Deine Lösung ist sehr interressant. Ich muss zugeben, ich habe garnicht über eine reine Formellösung nachgedacht. Ich wollte mein Blatt so bestehend ausgefüllt haben, aber neue Wege eröffnen neue Horizonte. Habe noch nicht alle Werte gescheckt, aber bis jetzt war's ohne Fehler. Super und vielen Dank.
    Mal sehen ob ich nicht doch noch herausfinde, wo ich mich verrannt habe. Ich werde die geschachtelten IF - Then - Else nochmals ansehen müssen.
    "Urs V2" gefällt mir sehr gut. Werde mich damit auseinandersetzen und mich wieder melden. Zur Zeit komme ich kaum dazu. Gruss Urs
    Anzeige
    AW: Danke für die Hilfe
    28.02.2018 10:30:16
    Rainer
    Hallo Urs,
    ja, mit VBA wäre das auch machbar.
    Mache eine Schleife von 1 bis "Max.Anzahl"
    z.B. "Max.Anzahl" = 2
    Schreibe die "Rowing/Max.Anzahl" in ein Array der Länge "Max.Anzahl".
    z.B. "180/360"
    Dann (anstatt der If-Schleife) würde ich aber wieder auf "Worksheetfunction.Match" zurückgreifen, und diese Werte ins Array übernehmen.
    z.B. "19/38"
    Dann kannst du die entsprechenden Cells direkt ansprechen.
    Wenn es denn aber unbedingt die If-Schleife sein muss, dann in etwa so:
    
    For i = 1 to 38
    If "180" > Cells(i,2) and "180" 

    Gruß,
    Rainer
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige