EXCEL VBA Die wichtigsten Befehle #13 - If Then Else Verzweigungen / Einführung Excel VBA

Поділитися
Вставка
  • Опубліковано 30 лис 2024

КОМЕНТАРІ • 56

  • @scienzless
    @scienzless  7 років тому +2

    Eine anschauliche Übersicht aller Videos dieser Videoreihe findest du unter:
    ► www.excel-vba-lernen.de/
    Dort habe ich auch alle Befehle und Beispielcodes aus den Videos
    nochmals rausgeschrieben, sodass Du auf einen Blick alle wichtigen
    Informationen hast und nicht in den verschiedenen Videos an die
    jeweilige Stelle spulen musst.
    Viel Spaß beim Lernen!
    André

    • @philipdmn
      @philipdmn 4 роки тому

      Erstmal vorab: Deine Videos sind super! Super verständlich erklärt und kinderleicht nach zu machen.
      Nun zu meiner Frage: Ich frage über eine FOR-Schleife jede Zelle in einer Spalte mit einer If-Then-Else Verzweigungen ab, was auch ganz gut funktioniert. Nun möchte ich wenn die Bedingung erfüllt ist genau die Zeile ausschneiden, in der sich die Schleife (also Dim "i") bei der Erfüllung der Bedingung befindet. Ich bekomme eine Fehlermeldung wenn ich den Befehl Rows("i:i").select eingebe. Vorher hatte ich es mit dem Aufruf eines separaten Makros probiert, was zur Folge hatte das immer die gleiche Zeile ausgeschnitten wurde(logischer weise). Was mache ich Falsch?

  • @willil1201
    @willil1201 3 роки тому +2

    Hab bei 0,0 angefangen, mache die Reihe zum Auffrischen jetzt zum zweiten mal durch, schreibe inzwischen schon Programme bei denen ich 95% der Kollegen staunen. Danke!

    • @scienzless
      @scienzless  3 роки тому

      Danke für das tolle Feedback und weiterhin viel Erfolg!

    • @willil1201
      @willil1201 3 роки тому

      SCIENZLESS - EXCEL VBA & POWERPOINT Lernvideos frage jetzt mal ganz neugierig, wie hast du dir dein Wissen angeeignet und nützt du es „nur“ oder machst du das hauptberuflich?

  • @letsplaypiano4221
    @letsplaypiano4221 4 роки тому +8

    So toll, dass ich dich gefunden habe! Besser und übersichtlicher kann man´s wirklich nicht erklären! Außerdem noch sympatisch :)

    • @scienzless
      @scienzless  4 роки тому

      Danke für Dein motivierendes Feedback! :) beste Grüße

  • @hamidezzati495
    @hamidezzati495 6 років тому +4

    Ach Mensch! Deine Videos sind einfach klasse! Und dieses Video ist mir richtig gefallen, weil es um ein gutes Beispiel geht, für das man Schleifen und Verzweigungsbefehle nutzen muss. Danke dir. Mach mal weiter. Nie aufhören.

    • @scienzless
      @scienzless  6 років тому

      danke für Dein motivierendes Feedback :)

  • @dortmunder-unternehmer901
    @dortmunder-unternehmer901 7 років тому +2

    Toll gemacht, Danke für die ungezwungene Art der Videos, die ich mir mit wachsender Begeisterung anschaue und mit deren Hilfe ich hoffentlich bald in der Lage bin, Summen und Saldenlisten quasi per "Schnittstelle" über mehrere Jahre einzulesen und einem Kontenschema zuzuordnen. Das würde mir regelmäßig mindestens einen Tag sparen.

    • @scienzless
      @scienzless  7 років тому

      Danke für Dein Kommentar!
      Und weiterhin viel Erfolg für Dein Projekt :)
      Beste Grüße
      André

  • @djcrewddjc934
    @djcrewddjc934 4 роки тому

    Es Hatte Zwar nicht ganz so geklappt doch mit einigen Änderungen ging es dann auf jeden Fall eine Top erklärung und ich bin so happy das es solche leute gibt die es sehr gut erklären können wie gesagt ich muss mich in Excel einfinden da ich gerade ein großauftrag habe

  • @TruckerHepp
    @TruckerHepp 8 років тому +3

    Wieder ein tolles Video. Das einfärben von Zellen habe ich bis Dato immer über die Bedingte Formatierung realisiert.

  • @RAHH-ht4yk
    @RAHH-ht4yk 4 роки тому +1

    Top Videos bzw. Erklärungen. Hab die ersten 10 Video angesehen und muss sag "einfach super Step für Step erklärt". So werden ich doch noch richtig VBA lesen lernen und programmieren lernen. Hilft mir super weiter bei schwierigen Programmierungen die Systematik zu versehen.

    • @scienzless
      @scienzless  4 роки тому

      Danke für Dein Feedback! :) Dass freut mich zu hören,
      Beste Grüße und weiterhin gutes gelingen!

  • @JohnClasher
    @JohnClasher 3 роки тому +1

    Mega geil erklärt, vielen Dank

  • @partymaschine92
    @partymaschine92 6 років тому +2

    Gutes Video, habe die Übung mit der Übung aus dem Video "Dynamische Array" kombiniert:
    Dim size As Integer
    size = WorksheetFunction.CountA(Worksheets(1).Columns(1))
    For i = 2 To size
    so werden automatisch auch neue Noten mit dem Vermerk Bestanden usw. versehen.

    • @kuhmachtmuh77
      @kuhmachtmuh77 5 років тому

      Bei mir funktioniert das leider nicht. Ich will, dass bei jedem neuen Eintrag (generiert über eine UserForm) in Spalte 6 automatisch eine If-Then-Berechnung durchgeführt wird. Wie muss ich die o.g. Formel denn dann abändern?

  • @dirkteichmann
    @dirkteichmann 6 років тому

    Ein Top Video. Sehr gut erklärt !!!

  • @azeri9752
    @azeri9752 2 роки тому

    Ich habs endlich alles verstanden
    Das ist alles eigentlich mega einfach
    Lässt sich jetzt sagen lol

  • @shiarmamo6810
    @shiarmamo6810 5 років тому +1

    vielen Dank! sehr hilfreich

    • @scienzless
      @scienzless  5 років тому

      Danke für Dein Feedback! :)

  • @ninijusan2906
    @ninijusan2906 4 роки тому +2

    Deine Videos sind echt super! Habe zur Zeit Makros als neues Hobby entdeckt irgendwie und für jemanden, der bei 0 startet echt wunderbar beschrieben!
    Nur eine Frage zu diesem Beispiel: Vielleicht liegt es daran, dass es ja nunmal sehr schlicht gehalten ist, aber ich hätte das ganze einfach über WENN-Funktionen und bedingte Formatierungen gestrickt. Ich würde jetzt akut hier nicht unbedingt einen Vorteil sehen, das ganze als Makro zu gestalten.

    • @scienzless
      @scienzless  4 роки тому

      Danke für Deine Nachricht.
      Du hast vollkommen recht - der Vorteil wird in den kurzen Beispielen der Videos nicht immer ganz ersichtlich. Schaue Dir gerne mal meine Weiterführenden Videos an, da findest Du auch viele größere Anwendungsbeispiele :)
      Beste Grüße

    • @ninijusan2906
      @ninijusan2906 4 роки тому +1

      Ich bin fleißig am schauen, soweit ich aktuell Zeit finde. Bin mittlerweile fast mit dem Kapitel über die UseForms durch. Bin von deiner Art und Weise echt begeistert und konnte schon das ein oder andere für meine Dokumente nutzen, um die Arbeit damit zu erleichtern/verkürzen.

    • @scienzless
      @scienzless  4 роки тому

      @@ninijusan2906 das freut mich sehr zu hören 👍 halt mich gerne auf dem Laufenden!
      Maximalen Erfolg :)

  • @donniebarko8696
    @donniebarko8696 8 років тому +1

    Hey,
    wäre nice wenn du demnächst mit nem Fortgeschrittenenkurs weitermachen könntest und dort zeigst, für welche Anwendungen man sowas benutzen kann.

    • @scienzless
      @scienzless  8 років тому +4

      Ist bereits in Planung :) Die Rubrik ist schon auf meiner Homepage eingetragen und die ersten Videos folgen in den nächsten Wochen!
      Beste Grüße

  • @MyOliver64
    @MyOliver64 7 років тому +2

    Hallo, wirklich super video. Klasse erklärt. Weiter so (das VBA-Feld ist groß)!
    Aber, du weißt schon, dass man anstatt des Colorindex auch Color mit entsprechenden Konstanten, wie vbRed, vbYellow, vbGreen ... arbeiten kann. Dadurch kann man die entsprechenden Farben besser auseinanderhalten ;) (Zusätzlich können die Farben ja auch noch über den RGB-Farbraum definiert werden, wobei für jede Farbe Rot, Grün, Blau eine Zahl zwischen 0 und 255 steht und dadurch noch mehr Möglichkeiten bestehen).

    • @scienzless
      @scienzless  7 років тому

      Ich danke dir Olli :)
      und auch vollkommen richtig mit deiner Anmerkung, werde ich vielleicht mal einbauen ;)

  • @i.g.8206
    @i.g.8206 3 роки тому

    Hey, wie kann ich denn einen Befehl erstellen, der ausformuliert wie folgt aussieht: Wenn bei Variable "Postleizahl" und "Nachname" der gleiche Wert erkannt wird, Anzahl der gleichen Fälle in Variable "Anzahl Haushaltsmitglieder" angeben? Außerdem auch basierend auf PLZ und Nachname eine neue Variable "FamilyID" für die gleichen Fälle generieren? Vielen Dank.

  • @eifel8781
    @eifel8781 4 роки тому

    Ich habe das Problem, dass ich mit der STRG-Taste nicht mehrere voneinander unabhängige Bereiche markieren kann. Bei Open-Office funktioniert das, bei Excel (Testversion) hingegen nicht. Woran kann das liegen? P.S.: Bei Excel finde ich keine Rubrik "Optionen", wo irgendetwas ändern kann.

  • @loukas28
    @loukas28 5 років тому +2

    Super Videos, mach weiter so! Ich habe eine kurze Frage: Gibt es eine Möglichkeit über Makros auch automatisch Pivot-Tabellen zu erstellen bzw. gibt es dazu schon ein Video?

    • @scienzless
      @scienzless  5 років тому

      danke Dir für Dein Feedback :)
      jaa zu Pivot-Tabellen sind bereits Videos in Planung
      Beste Grüße

    • @loukas28
      @loukas28 5 років тому

      @@scienzless
      Ich warte schon gespannt darauf! :)
      Viele Grüße

  • @christelletchedilaure
    @christelletchedilaure 6 років тому +1

    Danke

    • @scienzless
      @scienzless  6 років тому

      danke für Dein Feedback! :)

  • @a.b.3030
    @a.b.3030 8 років тому +1

    4,9 ist demnach bestanden ;-)
    Sollte man da nicht angeben >4 und

    • @scienzless
      @scienzless  8 років тому

      Bei Klausurergebnissen an der Uni gibt es lediglich die Abstufung 4,7 und dann die 5,0.
      Daher habe ich die Note 4,9 nicht berücksichtigt. Aber ansonsten hast du natürlich vollkommen recht!

    • @davidr.6020
      @davidr.6020 7 років тому

      Sub IfThenElse()
      Dim i As Integer
      For i = 2 To 10
      If Cells(i, 1).Value >= 5 Then
      Cells(i, 2).Value = "Nicht bestanden"
      ElseIf Cells(i, 1).Value >= 4.3 Then
      Cells(i, 2).Value = "Mündl. Nachprüfung"
      Else
      Cells(i, 2).Value = "Bestanden"
      End IfNextEnd Sub

  • @nikolaiunger6932
    @nikolaiunger6932 4 роки тому +1

    👍👍👍

  • @mranderson5005
    @mranderson5005 6 років тому

    Könnte man nicht auch zwei If-Verzweigungen verschachteln und das somit etwas "genauer" lösen?
    Also:
    If Cells(4,i).Value < 5 then
    If Cells(4,i)Value = 4,3 then
    Cells(4,i).Value = "Mündl. Nachprüfung"
    Else
    Cells(4,i).Value = "Bestanden"
    End if
    Else Cells(4,i).Value = "Nicht bestanden"
    End if

    • @ronnyviking431
      @ronnyviking431 4 роки тому

      Du hast das Video nicht geschaut oder?
      Und getestest was du da geschrieben hast auch nicht oder?
      Dann hättest du gemerkt, dass es einen Fehler ergibt (schon beim schreiben müsste er eigentlich mit dir meckern).
      Deine Variable durchläuft auch Spalten und nicht Zeilen, soll das so sein?
      Die If Then Else (Wenn Dann Sonst) Funktion ist so aufgebaut:
      If Cells(i, 1).Value = 4.3 Then
      Cells(i, 2).Value = "Mündl. Nachprüfung"
      ElseIf Cells(i, 1).Value < 5 Then
      Cells(i, 2).Value = "Bestanden"
      Else
      Cells(i, 2).Value = "Nicht bestanden"
      End If
      Mit "ElseIf" kannst du noch mehr unterscheidungen einbinden.
      In Excel wäre es die Schreibweise: =Wenn("Prüfung"; "Dann"; Wenn("Prüfung"; "Dann"; "Sonst")).

  • @rudiwosch4446
    @rudiwosch4446 3 роки тому

    Keinerlei Einrückung zwischen Sub...End Sub und For ... Next macht schon bei wenig Code diesen schlecht lesbar. Zur guten Programmierung gehört unbedingt eine gute Formatierung (und Kommentierung) des Codes !

    • @joohm
      @joohm 3 місяці тому

      Wenn du zu viel einrückst kann es auch unübersichtlich werden. Für die For schleife hätte man den Rest noch etwas schieben können aber da es hier noch recht übersichtlich ist ist das nicht unbedingt nötig.

  • @ks6699
    @ks6699 4 роки тому +1

    Ausgezeichnet

    • @scienzless
      @scienzless  4 роки тому

      ich danke Dir ! :)
      Beste Grüße

    • @ks6699
      @ks6699 4 роки тому

      Heute habe ich Video 21 durch. Bis jetzt bin ich sehr zufrieden

  • @pouria1361
    @pouria1361 7 років тому +1

    Diese Form wäre nicht einfacher gewesen?---->If x = y then JA-Anweisungen Else NEIN-Anweisungen

    • @scienzless
      @scienzless  7 років тому +1

      Moin :)
      so wie Du es formuliest, kannst du ja immer nur eine Note prüfen. Dann müsstest du die Abfrage für jede einzelne Note stellen - was meiner Meinung nach ziemlich aufwendig ist.
      Wenn es nur um BESTANDEN oder NICHT BESTANDEN geht, dann kann man es so machen wie du :)
      da wir aber den dritten Zustand "MÜNDL. NACHPRÜFUNG" haben, funktioniert das nicht so einfach.
      Ich hoffe ich konnte Deine Frage beantworten 👌
      Beste Grüße
      André

  • @tractor720
    @tractor720 7 місяців тому

    bei dem Beispiel braucht man kein VBA. Da reicht eine Formel direkt in der Excelmappe.

    • @scienzless
      @scienzless  7 місяців тому

      Nur leider ist es eine VBA Videoreihe ✌🏻

    • @joohm
      @joohm 3 місяці тому

      Ifthenelse is ja imprinzip auch nur ne Wenn Funktion. Wobei der Einbau der for schleife in der excelfunktion interessant sein könnte. 😂 man kann glaube irgendwie die spalte/zeile abfragen und da dann auch in bestimmte Zellen was eintragen lassen mit ner normalen Excel Funktion. Aber die wird dann auch schon komplexer, dann kannst auch vba nutzen.

    • @joohm
      @joohm 3 місяці тому

      Hab das grade mal getestet
      =WENN(ISTLEER([@A]);"";WENN([@A]=4; "m. Prüfung"; WENN([@A]>=5; "durchgefallen"; "bestanden")))
      Nur mit Farbe wird es schwierig