Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
520to524
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
520to524
520to524
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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
Anzeige
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?
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

174 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige