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

Funktion mit größtem gemeinsamen Teiler und...

Forumthread: Funktion mit größtem gemeinsamen Teiler und...

Funktion mit größtem gemeinsamen Teiler und...
20.11.2004 11:55:01
Meike
Hallo,
ich brauche dringend Hilfe bei folgenden Aufgabenstellungen:
1. Erstellen Sie eine Funktion ggT1(arg1, arg2), die den größten gemeinsamen Teiler der beiden Argumente zurückliefert.
2. Erstellen Sie eine Prozedur "Füllen", die
a) die aktuelle Tabelle leert
b) drei Argumente arg1, arg2, arg3 einliest und
c) mit der Zelle Cells(arg2, arg3) beginnend das folgende Muster erzeugt:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1
1 1 1 1
1 1 1
1 1
1
In der ersten Zeile und in der ersten Spalte befinden sich jeweils arg1 1en.
Vielen Dank für die Hilfe!
Meike
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Hausaufgaben in anderen Foren
20.11.2004 12:17:25
Schuldirektor
Hallo Meike,
Für Hausaufgaben gibts andere Foren, z.B.
http://www.pausenhof.de
Ansonsten schreib mal, was Du schon geleistet hast, und wo Du nicht weiter kommst, dann bekommst Du bestimmt auch Hilfe.
Gruß,
AW: Funktion mit größtem gemeinsamen Teiler und...
20.11.2004 16:52:02
FP
Hi Meike,
zu 2)
Public bArg As Byte

Sub Fuellen()
Dim intAnzahl   As Integer
Dim lngZeile    As Long
Dim intSpalte   As Integer
Dim i           As Integer
Dim strArr()    As String
With ActiveSheet.Cells
.ClearContents
.NumberFormat = "@"
End With
intAnzahl = CInt(GetArg(99, "Anzahl der Einsen"))
lngZeile = GetArg(65537 - intAnzahl, "Erste zu befüllende Zeile")
intSpalte = CInt(GetArg(256, "Zu befüllende Spalte ( Zahl )"))
ReDim strArr(intAnzahl) As String
For i = 1 To intAnzahl
strArr(i) = String(intAnzahl, "1 ")
intAnzahl = intAnzahl - 1
Next
With Range(Cells(lngZeile, intSpalte), Cells(lngZeile - 1 + UBound(strArr()), intSpalte))
.Value = Application.Transpose(strArr())
End With
End Sub

Public

Function GetArg(max As Long, _
Optional ArgBez As String = "Argument #") As Long
Dim Arg As Variant
If ArgBez = "Argument #" Then
bArg = bArg + 1
ArgBez = ArgBez & bArg
End If
While Val(Arg) = 0 Or Val(Arg) > max
Arg = InputBox(ArgBez, "Bitte geben Sie folgenden Wert ein")
If Val(Arg) = 0 Then _
MsgBox "Eingabefehler! Nur Zahlen > 0 sind erlaubt!"
If Val(Arg) > max Then _
MsgBox "Eingabefehler! Zahl ist zu groß!!!"
Wend
GetArg = Val(Arg)
End Function

Ob Dir der Lehrer glaubt, dass Du das geschrieben hast, wage ich nicht zu beurteilen ;-)
Servus aus dem Salzkammergut
Franz
Anzeige
AW: Funktion mit größtem gemeinsamen Teiler und...
20.11.2004 17:49:41
Meike
Hallo,
vielen Dank für deine Hilfe, werde mal gucken, aber ich glaube auch nicht, dass ich die verwenden kann. Sie weiss ja, dass wir keine Ahnung davon haben.
Meike
AW: Funktion mit größtem gemeinsamen Teiler und...
20.11.2004 22:53:16
meike
Danke für eure Hilfe!!!
AW: Funktion mit größtem gemeinsamen Teiler und...
21.11.2004 00:09:38
Hübi
Hi Meike,
hier mal eine Lösung für Aufgabe 2, die deine Lehrerin definitiv annehmen wird.
https://www.herber.de/bbs/user/13720.xls
Konnte ich helfen?
Gruß Hübi
AW: Funktion mit größtem gemeinsamen Teiler und...
21.11.2004 12:40:42
Meike
@Hübi,
also ich muss meiner Professorin ja die Prozedur ausdrucken, also das was ich in VBA geschrieben habe. Wie kann ich mir denn angucken, was du gemacht hast?
Anzeige
AW: Funktion mit größtem gemeinsamen Teiler und...
21.11.2004 14:40:54
Hübi
Hallo Meike,
ich habe die Datei noch einmal geänder, da ich die Aufgabe mit Arg1 falsch verstanden habe.
Hier ist die neue Datei https://www.herber.de/bbs/user/13728.xls
Hier ist der Code, den deine Professorin bestimmt abkauft.
Option Explicit
Public

Sub Füllen()
Dim WertArg1 As Byte
Dim Zeile As Long
Dim Spalte As Integer
Dim Spaltenzähler As Byte
Dim Zeilenzähler As Byte
WertArg1 = Worksheets("Tabelle1").Range("B1").Value 'Arg1 - wie viele Zeilen/Spalten sollen gefüllt werden
Zeile = Worksheets("Tabelle1").Range("B2").Value 'erste zu füllende Zeile Arg2
Spalte = Worksheets("Tabelle1").Range("B3").Value 'erste zu füllende Spalte Arg3
Cells.Clear ' alle Inhalte im aktiven Blatt löschen
For Zeilenzähler = 0 To WertArg1 - 1 ' Zeilen in Schleife erhöhen
MsgBox "Zur ersten Zeile Arg2 wird addiert " & Zeilenzähler ' Zeile wieder löschen, wenn Prinzip erkannt
For Spaltenzähler = 0 To WertArg1 - 1 - Zeilenzähler ' Spalten bestimmen
MsgBox "Zur ersten Spalte Arg3 wird addiert " & Spaltenzähler ' Zeile wieder löschen, wenn Prinzip erkannt
Cells(Zeile + Zeilenzähler, Spalte + Spaltenzähler).Value = 1 'wählt die Zelle aus und trägt die 1 ein
Next
Next
End Sub

Der ist soooo laienhaft, dass er keine Fehlerbehandlung durchführt und in Schleifen die Cells() mit 1en füllt.
Kopiere den Code mal in die Datei, die ich jetzt geuploadet habe und starte ihn über die Schaltfläche auf Tabelle2 . In einer MsgBox zeigt es dir dann jeweils an, was passiert und wie die Zellen gefüllt werden. Nimm als Arg1 einen nicht zu großen Wert - sonst klickst du dir den Finger wund.

Gruß Hübi
Anzeige
AW: Funktion mit größtem gemeinsamen Teiler und...
21.11.2004 16:54:22
Meike
Vielen Dank für die Hilfe.
Als BWL Studentin hab ich nämlich von solchen Dingen keine Ahnung. Aber ich brauch den Schein!!!
Meike
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

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