Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Programmierung in VBA - EinMalEins

Programmierung in VBA - EinMalEins
18.11.2004 09:57:05
DJLes
Hallo!
Ich möchte in VBA ein Programm eingeben,
welches folgendes erledigen soll:
Es soll eingeben werden, der Startpunkt in der Tabelle (welche Zeile) und es soll eingeben werden, bis wohin das EinMalEins berechnet und ausgegeben werden soll.
Das Ganze soll in VBA programmiert sein und soll in der Ausgabe folgendermassen aussehen:
!1 ! 2 ! 3 ! 4 ! 5 !...
-------------------------
1!1 ! 2 ! 3 ! 4 ! 5 !...
-------------------------
2!2 ! 4 ! 6 ! 8 !10 !...
-------------------------
3!3 ! 6 ! 9 !12 !15 !...
-------------------------
4!4 ! 8 !12 !16 !20 !...
-------------------------
5!5 !10 !15 !20 !25 !...
-------------------------
.! .! . ! . ! . ! .
.! .! . ! . ! . ! .
.! .! . ! . ! . ! .
Wer kann mir schnell weiterhelfen?
Vielen Dank!!!!!!!
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Programmierung in VBA - EinMalEins
Worti
Hallo,
so gehts. (Prüfung, ob Zeilennummer und Biswert numerisch und ganzzahlig sind, mußt du noch selbst einbauen!).

Sub Einmaleins()
Dim StartZeile As Long
Dim EinmalEinsBis As Integer
Dim I As Integer
Dim J As Long
StartZeile = InputBox("Bitte Startzeile angeben!")
EinmalEinsBis = InputBox("Bis vohin soll gerechnet werden?")
For I = 1 To 10
Cells(StartZeile, I).Value = I
Next I
StartZeile = StartZeile + 1
For I = 1 To EinmalEinsBis
For J = 1 To 10
Cells(StartZeile, J).Value = I * J
Next J
StartZeile = StartZeile + 1
Next I
End Sub

Worti
Anzeige
AW: Programmierung in VBA - EinMalEins
18.11.2004 10:35:38
DJLes
Vielen Dank!!!!
Das ging ja richtig flott und zuverlässig!!!
Eine Frage noch:
Wie kann ich die Ausgabe noch verfeinern, indem ich um die Zahlen Linien ziehen kann und die Ausgabe mit einer bestimmten Schrift und Größe ausgegeben werden?
Vielen Dank!
Leslie
AW: Programmierung in VBA - EinMalEins
Worti
Hallo Leslie,
nach

For I = 1 To 10
Cells(StartZeile, I).Value = I
Next I

formatiesrt du deine ÜPberschriftenZeile mit

'Schriftgröße und Art
With Range(Cells(StartZeile, 1), Cells(StartZeile, 10)).Font
.Name = "Arial"
.Size = 12
End With
'Rahmen um die Zellen
With Range(Cells(StartZeile, 1), Cells(StartZeile, 10)).Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
End With
With Range(Cells(StartZeile, 1), Cells(StartZeile, 10)).Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
End With
With Range(Cells(StartZeile, 1), Cells(StartZeile, 10)).Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
End With
With Range(Cells(StartZeile, 1), Cells(StartZeile, 10)).Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
End With

Worti
Anzeige
AW: Programmierung in VBA - EinMalEins
18.11.2004 11:28:42
DJLes
Und wenn ich alle Zahlen so formatiert und umrandet haben möchte?
Vielen Dank!!
Leslie
AW: Programmierung in VBA - EinMalEins
Worti
Hallo Leslie,
was heißt alle Zahlen? Nur die in der Überschrift, dann ergänze noch

With Range(Cells(StartZeile, 1), Cells(StartZeile, 10)).Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
End With

Wenn du alle Zahlen meinst, dann sieht das Makro so aus:

Sub Einmaleins()
Dim StartZeile As Long
Dim EinmalEinsBis As Integer
Dim I As Integer
Dim J As Long
StartZeile = InputBox("Bitte Startzeile angeben!")
EinmalEinsBis = InputBox("Bis vohin soll gerechnet werden?")
For I = 1 To 10
Cells(StartZeile, I).Value = I
Next I
StartZeile = StartZeile + 1
For I = 1 To EinmalEinsBis
For J = 1 To 10
Cells(StartZeile, J).Value = I * J
Next J
StartZeile = StartZeile + 1
Next I
With Range(Cells(StartZeile, 1), Cells(StartZeile, 10)).Font
.Name = "Arial"
.Size = 12
End With
With Range(Cells(StartZeile - EinmalEinsBis - 1, 1), Cells(StartZeile - 1, 10)).Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
End With
With Range(Cells(StartZeile - EinmalEinsBis - 1, 1), Cells(StartZeile - 1, 10)).Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
End With
With Range(Cells(StartZeile - EinmalEinsBis - 1, 1), Cells(StartZeile - 1, 10)).Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
End With
With Range(Cells(StartZeile - EinmalEinsBis - 1, 1), Cells(StartZeile - 1, 10)).Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
End With
With Range(Cells(StartZeile - EinmalEinsBis - 1, 1), Cells(StartZeile - 1, 10)).Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
End With
With Range(Cells(StartZeile - EinmalEinsBis - 1, 1), Cells(StartZeile - 1, 10)).Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlThin
End With
End Sub

Worti
Anzeige
AW: Programmierung in VBA - EinMalEins
18.11.2004 12:48:14
DJLes
Genauso meinte ich das. So habe es mir vorgestellt.
Vielen Dank nochmal für die schnelle Hilfe!!!!!
Leslie
AW: Programmierung in VBA - EinMalEins
18.11.2004 12:39:52
DJLes
Und wenn ich alle Zahlen so formatiert und umrandet haben möchte?
Vielen Dank!!
Leslie
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

VBA für das Einmaleins in Excel programmieren


Schritt-für-Schritt-Anleitung

Um eine 1x1 Tabelle in Excel für das Einmaleins zu erstellen, kannst du folgendes VBA-Skript verwenden. Gehe dazu wie folgt vor:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke im Menü auf Einfügen und wähle Modul.
  3. Füge den folgenden Code in das Modul ein:
Sub Einmaleins()
    Dim StartZeile As Long
    Dim EinmalEinsBis As Integer
    Dim I As Integer
    Dim J As Long
    StartZeile = InputBox("Bitte Startzeile angeben!")
    EinmalEinsBis = InputBox("Bis wohin soll gerechnet werden?")

    For I = 1 To 10
        Cells(StartZeile, I).Value = I
    Next I
    StartZeile = StartZeile + 1

    For I = 1 To EinmalEinsBis
        For J = 1 To 10
            Cells(StartZeile, J).Value = I * J
        Next J
        StartZeile = StartZeile + 1
    Next I
End Sub
  1. Schließe den VBA-Editor und gehe zurück zu Excel.
  2. Drücke ALT + F8, wähle Einmaleins und klicke auf Ausführen. Folge den Eingabeaufforderungen, um deine einmal eins Tabelle zu erstellen.

Häufige Fehler und Lösungen

  • Fehler: „Typ nicht korrekt“

    • Lösung: Stelle sicher, dass du bei der Eingabe der Startzeile und des Endwertes nur ganze Zahlen eingibst.
  • Fehler: Keine Werte in der Tabelle

    • Lösung: Überprüfe, ob du die richtige Startzeile angegeben hast. Wenn die Zeile außerhalb des sichtbaren Bereichs ist, wird nichts angezeigt.

Alternative Methoden

Wenn du keine VBA-Programmierung verwenden möchtest, kannst du auch manuelle Formeln in Excel benutzen. Hier ist eine Methode:

  1. Gib in Zelle A1 die Zahl 1 ein.
  2. Ziehe die Ecke der Zelle nach rechts bis zur Zelle J1, um die Zahlen 1 bis 10 zu erstellen.
  3. In Zelle A2 gib die Formel =A$1*B$1 ein und ziehe diese Formel nach rechts und nach unten, um die gesamte 1 mal 1 Tabelle zu füllen.

Praktische Beispiele

Hier ist ein Beispiel, um die 1x1 Tabelle in Excel zu erstellen:

  • Angenommen, du gibst als Startzeile 5 und als bis wohin 5 ein:
    • Die Ausgabe wird wie folgt aussehen:
   1   2   3   4   5
1  1   2   3   4   5
2  2   4   6   8  10
3  3   6   9  12  15
4  4   8  12  16  20
5  5  10  15  20  25

Du kannst die Schriftart und Größe der Zellen anpassen, indem du die entsprechenden Formatierungen im VBA-Skript hinzufügst.


Tipps für Profis

  • Nutze die Formatierungsoptionen im VBA, um die Zellen ansprechend zu gestalten:

    With Range(Cells(StartZeile, 1), Cells(StartZeile, 10)).Font
    .Name = "Arial"
    .Size = 12
    End With
  • Du kannst auch automatische Rahmen um die Zellen setzen, um die Tabelle klarer darzustellen. Verwende dazu die .Borders-Eigenschaft.


FAQ: Häufige Fragen

1. Wie kann ich die Größe der Tabelle ändern? Du kannst die Anzahl der Spalten und Zeilen im VBA-Code anpassen, indem du die Schleifen für I und J änderst.

2. Gibt es eine Möglichkeit, die Tabelle automatisch zu formatieren? Ja, du kannst zusätzliche VBA-Befehle verwenden, um Schriftgröße, -art und Rahmen der Zellen einzustellen.

3. Kann ich das Skript für andere Tabellen nutzen? Ja, du kannst das Skript anpassen, um verschiedene Tabellen zu erstellen. Ändere einfach die Berechnungslogik entsprechend.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige