VBA vereinfachen

Dieses Thema im Forum "Webmaster Hilfe / Programmierer Forum" wurde erstellt von Daniel112, 04.12.2008.

  1. #1 Daniel112, 04.12.2008
    Daniel112

    Daniel112 Benutzer

    Dabei seit:
    09.11.2005
    Beiträge:
    80
    Zustimmungen:
    0
    lol ich schon wieder :D :D
    aber ich hab da mal wieder eine frage ob man es irgendwie automatisch schreiben lassen kann oder ob ich es immer wieder von hand eingeben muß
    denn 47 mal das selbe eingeben ist sehr anstrengend

    hier der code:
    Code:
    Nr = MsgBox("Wollen sie Ihre Zeilen Nummerieren?", vbYesNo)     
    If Nr = 6 Then     
    Select Case srteingabe1     
    Case Is = 1                 ' Nummerieren Nr1     
    Range(A8).Formula = "Nr 1"     
    Range(A8).Font.Bold = True     
    Case Is = 2                 ' Nummerieren Nr1 -2     
    Range(A8).Formula = "Nr 1"     
    Range(A9).Formula = "Nr 2"     
    Range(A8:A9).Font.Bold = True     
    Case Is = 3                 ' Nummerieren Nr1 -3     
    Range(A8).Formula = "Nr 1"    
     Range(A9).Formula = "Nr 2"     
    Range(A10).Formula = "Nr 3"     
    Range(A8:A10).Font.Bold = True     
    Case Is = 4                 ' Nummerieren Nr1 -4     
    Range(A8).Formula = "Nr 1"     
    Range(A9).Formula = "Nr 2"    
     Range(A10).Formula = "Nr 3"     
    Range(A11).Formula = "Nr 4"     
    Range(A8:A11).Font.Bold = True     
    Case Is = 5                 ' Nummerieren Nr1 -5     
    Range(A8).Formula = "Nr 1"    
     Range(A9).Formula = "Nr 2"     
    Range(A10).Formula = "Nr 3"     
    Range(A11).Formula = "Nr 4"     
    Range(A12).Formula = "Nr 5"     
    Range(A8:A12).Font.Bold = True
     
  2. AdMan

    schau mal hier: Windows-Wartungs-Tool. Viele Probleme lassen sich damit einfach beheben. Oftmals ist der PC dann auch schneller!
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren.
  3. disler

    disler Erfahrener Benutzer

    Dabei seit:
    05.07.2007
    Beiträge:
    1.654
    Zustimmungen:
    0
    Ort:
    Schweiz
    indem du entweder eine while oder eine for schlaufe machst! So umgehst du einen "Spaghetti-Code" und kannst es sozusagen Automatisieren!

    Ich würde dir eine for schleife empfehlen, da du ja von anfang an weisst, wie viele durchläufe es gibt!
     
  4. #3 Daniel112, 04.12.2008
    Daniel112

    Daniel112 Benutzer

    Dabei seit:
    09.11.2005
    Beiträge:
    80
    Zustimmungen:
    0
    hi,

    und wie soll so eine schleife aussehen???
     
  5. disler

    disler Erfahrener Benutzer

    Dabei seit:
    05.07.2007
    Beiträge:
    1.654
    Zustimmungen:
    0
    Ort:
    Schweiz
    mhhhm

    für for schleife siehe : http://matheplanet.com/matheplanet/nuke/html/viewtopic.php?topic=51406

    Code:
    For Schleife (1) (//must du deine Angabe machen, weiss nicht wie oft du es willst)
          Case Is = 'Variable 1'                 ' Nummerieren Nr1    
          For Schleife (2) 
               Range(A'Variable').Formula = "Nr 'Variable 2'" 
               Variable ++
               Variable 2 ++
          End For Schlaufe (2)
    Range(A8:A'Variable').Font.Bold = True  
    Variable 1 ++
    End For Schlaufe (1)
    
    
    Code bitte nicht kopieren, da es nur die idee zeigt, und nicht die richtigen befehle eingesetzt wurden.

    Also die Idee sollte so etwa klappen, probiere es aus, und gebe mir bescheid! ;-)
     
  6. #5 Daniel112, 05.12.2008
    Daniel112

    Daniel112 Benutzer

    Dabei seit:
    09.11.2005
    Beiträge:
    80
    Zustimmungen:
    0
    him verstehe ich nicht was du jetzt so richtig meinst wie soll ich was eintragen

    ich hab auch mal ein bisschen rum probiert aber mit der case funktion funktioniert es nicht so wie ich es gedacht habe
    Code:
    Select Case strEingabe1
        Case Is = 1 - 47         ' Nummerieren Nr1
        Range("A8").Formula = "Nr1"
        Range("A8").Font.Bold = True
        Range("A8").HorizontalAlignment = xlRight
        Case Is = 2 - 47         ' Nummerieren Nr1 -2
        Range("A9").Formula = "Nr 2"
        Range("A9").Font.Bold = True
        Range("A9").HorizontalAlignment = xlRight
        Case Is = 3 - 47      ' Nummerieren Nr1 -3
        Range("A10").Formulaa = "Nr 3"
        Range("A10").Font.Bold = True
        Range("A10").HorizontalAlignment = xlRight
    
    ah ja auf der seite war ich auch schon aber da konnte ich kein richtiges beispiel zu meinem fall finden
     
  7. disler

    disler Erfahrener Benutzer

    Dabei seit:
    05.07.2007
    Beiträge:
    1.654
    Zustimmungen:
    0
    Ort:
    Schweiz
    was verstehst du nicht? Weisst du, wie eine For-Schlaufe im VBA gemacht wird?

    Bitte sage mir die zeilen, die du bei meienr code erklährung ned verstehst! danke!
     
  8. #7 Daniel112, 05.12.2008
    Daniel112

    Daniel112 Benutzer

    Dabei seit:
    09.11.2005
    Beiträge:
    80
    Zustimmungen:
    0
    eigendlich fast alles warum hast du Variable ++ und + wie soll sie genau funktionieren...
    Code:
    Range(A'Variable').Formula = "Nr 'Variable 2'"             
    Variable ++            
    Variable 2 ++ 
     
  9. disler

    disler Erfahrener Benutzer

    Dabei seit:
    05.07.2007
    Beiträge:
    1.654
    Zustimmungen:
    0
    Ort:
    Schweiz
    aha! ok!

    Variable ++ ist eine Kurzvorm von Variable = Variable + 1! Weisst zwar nicht genau, ob das bei VBA auch geht...


    (A'Variable) Du definierst fest A, und setzt sie zu einem String zusammen mit dem Wert der Variable.


    P.S. Ich frage mich noch etwas: Bei deinem Code überschreibst du immer wieder etwas mit dem gleichen, macht für mich keinen Sinn! Oder was für einen gibt es? Was wolltest du dort machen?

    Ich hätte sonst noch eine andere Lösung im hinterkopf!
     
  10. AdMan

    Es ist generell erstmal empfehlenswert alle ggf. veralteten oder fehlerhaften Treiber zu scannen und auf neue zu aktualisieren. Hier kannst du einen Treiber-Scanner downloaden. Das erspart oftmals viel Ärger und hilft gegen diverse Probleme.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren.
  11. Weiny

    Weiny Erfahrener Benutzer

    Dabei seit:
    10.07.2007
    Beiträge:
    484
    Zustimmungen:
    0
    Nein, VBA kann diese Kurzform leider nicht
     
  12. disler

    disler Erfahrener Benutzer

    Dabei seit:
    05.07.2007
    Beiträge:
    1.654
    Zustimmungen:
    0
    Ort:
    Schweiz
    wusste ich nicht...

    dann schreibt man halt
    variable = variable + 1

    das geht ja!
     
Thema: VBA vereinfachen
Besucher kamen mit folgenden Suchen
  1. vba wenn inputbox auf abbrechen dann exit sub

Die Seite wird geladen...

VBA vereinfachen - Ähnliche Themen

  1. EXEL VBA Fragen Drucken per VBA und Actionbutton

    EXEL VBA Fragen Drucken per VBA und Actionbutton: Hallo zusammen, ich habe eine Arbeitsmappe mit mehreren Tabellenblättern. Nach dem Laden erscheint die Starttabelle. Hier sind verschiedene...
  2. vba in starbasic

    vba in starbasic: gibt es eine möglichkeit eine excel tabelle mit makros in openoffice 3.2 zu konvertieren ohne das ich alle makros neu schreiben muss. oder gibt...
  3. VBA Problem??

    VBA Problem??: Hallo, Ich bin noch totaler einsteiger in vba, deshalb hab ich mal ne frage. Ich möchte eine msgbox erhalten wenn z.B die Felder ("C5:E5") gelb...
  4. Links die das Leben vereinfachen/schöner machen

    Links die das Leben vereinfachen/schöner machen: Hallo Leute, hier könnt ihr eure Funde im Internet verewigen. Ich mach mal den anfang: Qtom - Musikfernsehn im Internet. Wenn es der Fernseher...
  5. Drucken mit VBA in Excel

    Drucken mit VBA in Excel: Hallo zusammen, ich hoffe ihr könnt mir helfen :) Ich habe eine Exceldatei mit mehreren Dokumentblättern (diese Tabs in Excel). Davon möchte ich...