Office: (Office 2007) VBA

Helfe beim Thema VBA in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich hoffe ihr könnt mir weiter helfen. Ich habe mit einer Schleife eine Reihe von Zahlen eingefügt. Nun sollen nach jeder Zahl immer 3 leere... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von User, 29. August 2009.

  1. VBA


    Hallo, ich hoffe ihr könnt mir weiter helfen.
    Ich habe mit einer Schleife eine Reihe von Zahlen eingefügt. Nun sollen nach jeder Zahl immer 3 leere Zellen eingefügt werden.
    Noch schöner wäre es, wenn das schon wären der ersten Schleife funktioniert.
    Die erste schleife ist sehr einfach und lautet lautet:
    n = WorksheetFunction.RoundDown(((Range("D2") - Range("D3")) / Range("D4")), 0)

    For i = 0 To n
    Range(Cells(y, x + i ), Cells(y, x + i)) = Range("D2") + i * Range("D4")
    Next i

    :)
     
  2. Moin,

    der Parameter Step gibt die Schrittweite an, in der die Scleife zählt (keine Angabe heißt 1):

    Code:
     
  3. Danke schön das weis ich, dass ich mit Step bestimmen kann was für Sprünge gemacht werden sollen.
    Aber ich weis nicht wie ich das hinbekomme, dass er nach jedem Kästchen mit einer zahl der schleife 3 leere Zellen einfügt.
     
  4. VBA

    Moin, VBA Anfänger2009,

    schön für Dich *wink.gif* Dann nutzen wir halt die Schleife von unten nach oben *grins

    Code:
     
  5. Hallo Anfänger,

    abgeshen davon, dass es sehr schön wäre, wenn man Dich mit einem Namen ansprechen könnte und ein Gruß auch angenehm wäre,
    stellt sich die Frage, ob Du dass, was Jinx Dir empfohlen hat, schon einmal ausprobiert hast.
    Zudem ist mir nicht klar, was Du mit Code:
    bewerkstelligen willst?
    Das ist doch im Klartext so viel wie Code:
    , was auch durch Code:
    dargestellt werden kann.
     
    BoskoBiati, 31. August 2009
    #5
  6. Hallo, vielen Dank euch beiden.
    Ich heiße Chris.
    Das von jinx hilft mir sehr weiter, und ich hoffe mal ich bekomme es so umgebastetlt, dass es nur noch Zellen sind, die Eingefügt werden und vorallem sollte das nciht nach unten sondern nach rechts rüber geschehen.

    Auch deinen Hinweis BoskoBiati werde ich beherzigen und schauen ob ich meinem code damit noch einfacher hinbekomme.
     
  7. Das sieht finde ich schon sehr gut aus, nur das nach rechts wird ignoriert.
    Sub einfügen()
    Dim lngCounter As Long
    Dim lngMax As Long
    lngMax = 5
    For lngCounter = lngMax To 1 Step -1
    Cells(1, lngCounter).Value = lngCounter
    Range(lngCounter + 1 & ":" & lngCounter + 2).Insert shift:=xlToRight

    Next lngCounter
    End Sub
     
  8. VBA

    Hallo,

    Probier mal das (ist aber ungetestet):
    Code:
    Problem ist, dass niemand weiß, was in den Variablen x u. y steckt.
     
    BoskoBiati, 1. September 2009
    #8
  9. Hallo werd ich testen Danke.
    Hinter x und y steckt nciht besonders viel. der platz an den die Tabelle später soll der schwankt und daher habe ich alles auf diese zwei Konstanten bezogen, dann muss ich in jeder Tabelle nur die ändern und nciht den ganzen code.
    x ist bei mit die spalte und y die zeile.
     
  10. Moin, Chris,

    Du schaffst ein Problem, wo keines besteht - wenn man Deine Mappe bzw. deren Aufbau kennen würde. *wink.gif*

    Normalerweise kannst Du Dir die Schleife bei einem Einfügen von Leerzellen neben den Zahlen sparen, indem Du den Bereich ermittelst (erste und letzte Zeile) und dann die Zellen einfügst:

    Code:
     
  11. Guten Abend,
    ja ich sehe schon die Kunst liegt darin das Problem richtig und mit allen nötigen informationen zu beschreiben :-) .
    Bei der Version mit resize müsste ich jetzt wieder die andere Schleife dazu bekommen. So dass ich wieder meine 3 oder 4 leeren kästchen hab nach den Werten aus der Schleife. Ich werde beide Versionen weiter verfolgen die Nacht über.

    Ich kann nur sagen,
    dass was du gestern abend gepostet hast fast das war was ich brauche.
    nur dass es sich nach ersten Versuchen leider nicht so einfach ändern lässt wie ich das gedacht hatte. Leider stört er sich wenn man die Rows durch Cells ersetzt.

    lngMax = 5
    For lngCounter = lngMax To 1 Step -1
    Cells(1, lngCounter).Value = lngCounter
    Cells(lngCounter + 1 & ":" & lngCounter + 2).Insert shift:=xlToRight
    Next lngCounter

    Welches die besser Variante ist weis ich nicht würde aber vermuten die erste oder weil schleifen vorallem bei längeren sachen lang brauchen oder?
     
  12. NAchtrag
    Ich denke mit resize geht es nicht, da ich über der Tabelle viele Daten habe und Resize wie column gnaze Spalten anpasst. Außer man kann hinzufügen ab wo von oben her er das machen darf.

    Zur erklärung wie das ganze aussieht.
    Ich habe eine Arbeitsmappe, in der oben viele Daten eingetragen sind, manche sind fix und andere können verändert werden.
    Wenn die verändert werden dann muss sich die Tabelle dem anpassen und sich auch ändern, daher hat die Tabelle keine feste größe sondern ist in der Breite und Länge variabel. die 4 Leeren Zellen neben der durch die Schleife und die Eingabe ausgelöste Zellen brauche ich, da diese mit Formeln gefüllt werden müssen.
     
  13. VBA

    Moin, VBA Anfänger2009,

    Sowohl Offset als auch Resize arbeiten wie Cells mit Angaben, wie viele Zeilen bzw. Spalten "Versatz" eingearbeitet werden.

    An einem Beispiel dargestellt: der Ausgangspunkt ist die Zelle A1. Per Offset wird die Zelle C3 markiert:
    Code:
    Wieder Ausgangspunkt A1, diesmal wird der Bereich B3:F4 markiert:
    Code:
    Was hier markiert wird, kann auch als Zellen eingefügt werden.
     
  14. Hallo jinx,
    danke für deine Hilfe. Leider scheine ich dafür nciht geeignet.

    Range("B4").Offset(0, 1).Resize(2, 1).Insert
    B4 bleibt stehen, dann gibt es eine leer Zelle und dann kommt die nächste Zelle mit inhalt. So weit sehr gut. Aber leider wird die Zelle eine Zeile weiter darunter auch mit verschoben.
    Ok nach meiner Logik müsste also der Bereich der resized werden soll geändert werden, so dass nur noch in einer Zeile etwas verschoben wird. Aber bei Range("B4").Offset(0, 1).Resize(1, 1).Insert wird jetzt die Celle c4 um 1 nach unten verschoben.
     
  15. Moin, VBA Anfänger2009,

    selbst nach diesem Beitrag ist mir nicht klar, was zur Zeit in Deiner Tabelle wo steht und was durch das Makro erreicht werden soll - ich möchte Dich bitten, einen relevanten Ausschnitt der Tabelle (Ist und Soll) zu posten (z.B, durch Einsatz der Jeanie, Link in meiner Signatur) oder eine Beispielmappe hochzuladen.
     
Thema:

VBA

Die Seite wird geladen...
  1. VBA - Similar Threads - VBA

  2. VBA in einer Zeile zu lang

    in Microsoft Excel Hilfe
    VBA in einer Zeile zu lang: Moin, mein VBA Code ist für eine Zeile zu lang. Kann mir einer helfen wie ich den auf 2 Zeilen aufteilen Kann? arrSchuhDaten = Array(Range("A6"), Range("F6"), Range("J6"), Range("A7"),...
  3. Listbox wird nicht breiter, Schriftgrösse ändert sich

    in Microsoft Excel Hilfe
    Listbox wird nicht breiter, Schriftgrösse ändert sich: Hallo, ich habe ein Formular dessen Breite ich mit der Maus ändern kann. Im Formular habe ich einen Rahmen und darin eine Listbox deren Breite an die Formularbreite angepasst wird....
  4. Kontrollkästchen aktivieren ohne VBA - wenn KK1 angekreuzt dann KK2 auch

    in Microsoft Excel Hilfe
    Kontrollkästchen aktivieren ohne VBA - wenn KK1 angekreuzt dann KK2 auch: Hallo zusammen, erstmal danke für all die Tipps und Kniffe, die ich ohne eigenen Thread gefunden und gelernt habe. Leider finde ich mein Thema nirgendwo... Aktuell habe ich zwei Spalten mit...
  5. Per Hyperlink ausgeblendetes Blatt einblenden

    in Microsoft Excel Hilfe
    Per Hyperlink ausgeblendetes Blatt einblenden: Hola ins Forum, ich bräuchte mal wieder eure Hilfe. Ich habe ein Tabellenblatt das mir als Register dient und wo Hyperlinks eingefügt sind um auf das dazugehörige Blatt zu springen. Diese Blätter...
  6. Bilder über VBA Größe und DPI ändern für Webshop

    in Microsoft Excel Hilfe
    Bilder über VBA Größe und DPI ändern für Webshop: Hallo Excel Spezialisten, Ich habe mir eine recht aufwendige Tabelle gebastelt, aus der ich Daten für meinen Webshop generiere und in einer .csv bereitstelle. Es werden neue Preislisten...
  7. VBA: Platzhalter ersetzen und evtl. leere Zeile einfügen

    in Microsoft Word Hilfe
    VBA: Platzhalter ersetzen und evtl. leere Zeile einfügen: Hallo zusammen, ich habe eine Word-Vorlage mit Platzhaltern, in die ich mit VBA Daten aus einer Excel-Datei einfüge (in eine Excel-Zeile schreibe ich alle Daten für ein neues Word-Dokument). So...
  8. Erstellung eines Dynamischen Kalenders (ggf. VBA)

    in Microsoft Word Hilfe
    Erstellung eines Dynamischen Kalenders (ggf. VBA): Guten Morgen an Alle, ich hoffe, es geht euch soweit gut :) Ich wende mich heute an euch, weil ich gerade vollkommen verzweifle und irgendwie so ganz und garnicht weiterkomme und irgendwie...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden