Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1116to1120
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
Inhaltsverzeichnis

Zellen automatisch mit Zalen ausfüllen lassen

Zellen automatisch mit Zalen ausfüllen lassen
Rüdiger
Hallo,
ich möchte bei einer Arbeitsmappe, in der ich ein Häkelmuster eingesetzt habe die leeren Kästchen mit fortlaufenden Zahlen füllen lassen. Im Moment mache ich das per Hand!
In der untersten Zeile fängt die Zahl 1 an der rechten Seite anfangen und fortlaufend bis zum nächsten "X" in die Zelle geschrieben werden. Nach dem "X" sollte es wieder mit der Zahl 1 beginnen, bis die Zeile zu ende ist.
In der nächst höheren Zeile das gleiche nur dort soll die Zahl 1 links beginnen.
Das Arbeitsblatt ist mit der Schriftengröße 16 Pkt und fett.
Die Zahlen sollten aber in der größe 9 Pkt und nicht fett sein.
Wer kann mir da helfen.
PS.
Ich habe ein Muster gemacht, wie es aussehen soll.
Nur weiß ich nicht wie ich diese Datei mit einbinden kann!
Vielen Dank schonmal von Rüdiger
AW: Zellen automatisch mit Zalen ausfüllen lassen
12.11.2009 17:42:37
Erich
Hi Rüdiger,
wenn du auf diesen Beitragt antwortest, findest du rechts über dem großen weißen Feld, in das du schreibst,
und über deiner Mail-Adresse in blauer Schrift Hier gehts zum File-Upload.
Wenn du darauf klickst, die kurze und einfache Anleitung liest und befolgst,
kannst du deine Beispielmappe hochladen.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Zellen automatisch mit Zalen ausfüllen lassen
12.11.2009 18:33:22
Rüdiger
Hallo,
ich habe es versucht und es stand nachher"https://www.herber.de/bbs/user/65831.zip" da, was nun?
Gruß Rüdiger
Dateien im Forum hochladen
12.11.2009 18:48:12
Erich
Hi Rüdiger,
das war jetzt fast perfekt - die Mappe hast du hochgeladen!
Noch ein Tipp: Wenn du vor und hinter dem Text "https://www.herber.de/bbs/user/65831.zip"
die Gänsefüße weglässt, wird die Forums-Software den Text als Link erkennen und anzeigen lassen:
Wichtig also: Vor und hinter dem Link keine Zeichen! (Leerzeichen sind erlaubt)
Das funzt:
https://www.herber.de/bbs/user/65831.zip
Das funzt auch - wegen der Leerzeichen: https://www.herber.de/bbs/user/65831.zip obwohl drumherum etwas steht.
Hab jetzt leider keine Zeit, sehe mir die Mappe später an, lasse aber offen, für alle anderen Antworter.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Dateien im Forum hochladen
12.11.2009 20:51:28
Rüdiger
Vielen Dank für den Tip Erich.
Habe das erste mal so etwas gemacht!
Danke nochmals von Rüdiger
Anderenfalls musst du ein vollständiges...
12.11.2009 21:34:37
Luc:-?
...HTML-Tag setzen, Rüdiger,
also z.B. <a href="https://www.herber.de/bbs/user/65831.zip ">hier meine Datei</a>
Nichts für ungut, Erich, nur 'ne kleine Retourkutsche... ;-)
Gruß Luc :-?
leere Zellen mit Zahlen füllen
12.11.2009 19:37:07
Erich
Hi Rüdiger,
jetzt hab ich das mal programmiert:

Option Explicit
Sub Strickzahlen()
Dim zz As Long, ss As Long, nn As Long, rngF As Range
Dim intVR As Integer, intBg As Integer
Const lngZ As Long = 64, lngS As Long = 42
With Application
.EnableEvents = False
.Calculation = xlCalculationManual
'      .ScreenUpdating = False     ' nach den Test aktivieren
End With
For zz = 1 To lngZ
nn = 0
intVR = IIf(lngZ Mod 2 = zz Mod 2, -1, 1)
intBg = IIf(intVR = 1, 1, 0)
For ss = intBg + (1 - intBg) * lngS To intBg * lngS + (1 - intBg) Step intVR
If Cells(zz, ss) = "X" Then
nn = 0
Else
nn = nn + 1
Cells(zz, ss) = nn
If rngF Is Nothing Then
Set rngF = Cells(zz, ss)
Else
Set rngF = Union(rngF, Cells(zz, ss))
End If
End If
Next ss
Next zz
With rngF.Font
.Size = 9
.Bold = False
End With
With Application
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
.EnableEvents = True
End With
End Sub
Das Makro sollte in ein normales Modul. Dann kannst du es mit Extras - Makro - ... starten.
Wenn du so nicht klar kommst, lade ich die Mappe noch mal hoch.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: leere Zellen mit Zahlen füllen
12.11.2009 21:01:48
Rüdiger
Hallo Erich,
das klappt wunderbar, nur ein Problem ist noch, das Muster geht oben zusammen (dicke Linien) und die Zahlen werden im Quadrat weiter gerade aus hoch geschrieben.
Das Muster ist von der dicken Linie begrenzt. Das heißt, dass das Ergebnis des Häkelns genau so aussieht, wie das Bild im Arbeitsbatt.
Ich hoffe, dass Du es verstanden hast, ich schreibe manchmal etwas überzwerg!
Trotzdem Vielen Dank von Rüdiger
Rückfragen
12.11.2009 21:28:31
Erich
Hi Rüdiger,
das verstehe ich jetzt noch nicht. Was meinst du mit den "dicken Linien"? Das Muster - oben das /\-förmige Dach?
Unten ist das etwas umrankt - Was wäre dann da maßgebend?
Oder meinst du den dicken Rahmen? Der ist aber im Beispiel rechteckig,
auf der rechten Seite ist er eine Gerade von AP1 bis AP64.
Schreib mal bitte, wo die Zahlen in den Zeilen 23, 24 und 25 eingetragen werden sollen und wo nicht,
und woraus sich das dann für die übrigen Zahlen ableiten lässt.
Sollen z. B. in Zeile 1 gar keine Zahlen mehr stehen? In Zeile 63 hattest du sie aber eingetragen.
Das "Bild im Arbeitsblatt" habe ich nicht gefunden - ist da irgendwo eine Grafik o. ä.?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Rückfragen
13.11.2009 09:00:50
Rüdiger
Hallo Erich,
warum in der älteren Version keine Abtrennung war verstehe ich nicht, ich schicke nochmals eine Zip Datei mit der Eingränzung des Häkelmusters. In der Eingränzung sollten die Zahlen wie beschrieben stehen. Ich habe die Zahlen in dem oberen konischen Teil zum Besseren sehen rot gemacht.
Oder sollte ich als Abschluß des Häkelmusters keine Einschränkung mit einem dicken Strich sein sondern ein Buchstaben, damit das VBA Programm weiß, wo es anfangen und enden soll?
Der Dateinamen ist: https://www.herber.de/bbs/user/65852.zip
GrußRüdiger
Anzeige
Version mit A(nfang) und E(nde)
13.11.2009 14:17:19
Erich
Hi Rüdiger,
so wie hier könnte ich mir das vorstellen: https://www.herber.de/bbs/user/65869.zip
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Version mit A(nfang) und E(nde)
13.11.2009 16:52:36
Rüdiger
Hallo Erich, das ist OK. Ich kann ja im Nachhinein das "A und E" wieder rauslöschen oder kann das Programm das auch, nachdem es die Zahlen reingesetzt, auch löschen?
Ich habe noch mal ein Häkelmuster mitgeschickt. es ist etwas schwieriger. Geht das auch. Muß nicht aber gut wäre es.
A = Anfang
E = Ende
EA = Ende und Anfang zugleich, da es genau in der Spitze steht.
Datei: https://www.herber.de/bbs/user/65876.zip
Vielen Dank von Rüdiger
Anzeige
AW: Version mit A(nfang) und E(nde)
13.11.2009 17:27:25
Rüdiger
Hallo Erich,
nochmal eine Andere aber dazugehörende Frage.
Ich kann nach dem das VBA Programm die Zahlen reingesetzt hat nichts mehr darin verändern, da dann die Zahlen nicht mehr stimmen.
Du weißt ja wie das mit den Frauen ist, was denen im Moment gefällt kann Morgen ganz anders sein, das heißt, z. B. das Bild nicht mehr links sondern jetzt rechts sein soll. Dann stimmen natürlich die Zahlen nicht mehr.
Kannst Du mir dahingehend ein kleines PRG schreiben, das die Zahlen wieder löscht?
Wäre sehr nett von Dir.
Siehe: https://www.herber.de/bbs/user/65877.zip
Das ist als Beispiel die gemeinet Datei!
Dein erstes Programm funktioniert bei rechteckigen Häkelmustern sehr, sehr gut. Ich ändere nur die beiden Einträge wo es um Spalten und Zeilen geht und es klappt prima. Dieses Programm halte ich in Ehren!
Anzeige
Version mit A's, E's und EA's und Löschen
13.11.2009 21:58:26
Erich
Hi Bernie aus Ffm vom RSC, (habe ich aus den Dateieigenschaften...)
hier eine erweiterte Fassung des Programms, das jetzt auch mit mehreren As und Es und EAs zurechtkommt,
und dazu auch eine Routine zum Löschen aller Zahlen auf einem Tabellenblatt.

Option Explicit
Sub StrickzahlenAE2()
Dim zz As Long, ss As Long, nn As Long, rngF As Range
Dim intVR As Integer, lngA As Long, lngE As Long, varB, lngB As Long
Dim lngS As Long, arrT, blnZahl As Boolean
Const lng1 As Long = 5
Const lngZ As Long = 29
With Application
.EnableEvents = False
.Calculation = xlCalculationManual
.ScreenUpdating = False
For zz = lng1 To lngZ
nn = 0
arrT = .Transpose(.Transpose( _
Range(Cells(zz, 1), Cells(zz, LetzteSpalteInBereich(Rows(zz))))))
If (lngZ - zz) Mod 2 = 1 Then
intVR = 1:     lngA = 1:               lngE = UBound(arrT)
Else
intVR = -1:    lngA = UBound(arrT):    lngE = 1
End If
For ss = lngA To lngE Step intVR
Select Case arrT(ss)
Case "X", "EA"
nn = 0
Case "A"
nn = 0:   blnZahl = intVR = 1
Case "E"
nn = 0:   blnZahl = intVR = -1
Case Else
If blnZahl Then
nn = nn + 1:   Cells(zz, ss) = nn
If rngF Is Nothing Then
Set rngF = Cells(zz, ss)
Else
Set rngF = Union(rngF, Cells(zz, ss))
End If
End If
End Select
Next ss
Next zz
rngF.Font.Size = 9
rngF.Font.Bold = False
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
.EnableEvents = True
End With
End Sub
Sub LoescheZahlen()
Dim arrB, zz As Long, ss As Long
With Application
.EnableEvents = False
.Calculation = xlCalculationManual
.ScreenUpdating = False
End With
With ActiveSheet.UsedRange
arrB = .Value
For zz = 1 To UBound(arrB)
For ss = 1 To UBound(arrB, 2)
If Not IsEmpty(arrB(zz, ss)) And IsNumeric(arrB(zz, ss)) Then _
.Cells(zz, ss).ClearContents  ' oder: Clear
Next ss
Next zz
End With
With Application
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
.EnableEvents = True
End With
End Sub
Function LetzteSpalteInBereich(rngB As Range) As Long
Dim rng As Range
Set rng = rngB.Find("*", rngB.Cells(1, 1), xlValues, , xlByColumns, xlPrevious)
If rng Is Nothing Then
LetzteSpalteInBereich = rngB.Cells(1, 1).Column
Else
LetzteSpalteInBereich = rng.Column
End If
End Function
Und hier die Mappe zum Spielen: https://www.herber.de/bbs/user/65886.xls
Die As und Es und EAs ibei den Tauben sollte ich nicht eintragen, oder?
Das Löschen der Zahlen funzt auch da.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Version mit A's, E's und EA's und Löschen
14.11.2009 15:47:44
Rüdiger
Hallo Erich,
übrigens RSC ist der Rollstuhl-Sport-Club Frankfurt e.V., bei dem ich Mitglied bin und mit die Vereinszeitung, Flyer und sonstige Druckvorstufen mit entwerfe!
Jetzt zum PRG, habe das PRG in Modul 1 kopiert und wenn ich bei "Sub StrickzahlenAE2()" auf den Pfeil Sub Ausführen klicke, kommt die Fehlermeldung:
"Laufzeitfehler '91':
Objektvariable oder With-Blockvariable nicht festgelegt."
Wenn ich auf Debuggen klicke, wird die Zeile "rngF.Font.Size = 9" gelb hinterlegt, davor ist auch noch ein gelber Pfeil.
In Deinem Musterprogramm hast Du das so schön im Mako angezeigt, dass immer verschiedene Sub's angesprungen werden. Bei mir nicht!
Gruß Rüdiger
Anzeige
mit Fehlerabfänger
14.11.2009 18:09:26
Erich
Hi Rüdiger,
diese Fehlermeldung erscheint, wenn rngF kein Bereich ist, sondern nichts.
Und nichts ist rngF, wenn die Prozedur gar keine Zahl in die Tabelle geschrieben hat.
Dann ist ja auch keine Schriftgröße zu ändern.
Das kann zum Beispiel vorkommen, wenn da keine A's oder E's vorkommen
oder die Zeilen von-bis nicht richtig angegeben sind.
In dieser Routine wird dann kein Fehler, sondern eine ordentliche Meldung ausgegeben:

Sub StrickzahlenAE2()
Dim zz As Long, ss As Long, nn As Long, rngF As Range
Dim intVR As Integer, lngA As Long, lngE As Long, varB, lngB As Long
Dim lngS As Long, arrT, blnZahl As Boolean
Const lng1 As Long = 5
Const lngZ As Long = 29
With Application
.EnableEvents = False
.Calculation = xlCalculationManual
.ScreenUpdating = False
For zz = lng1 To lngZ
nn = 0
arrT = .Transpose(.Transpose( _
Range(Cells(zz, 1), Cells(zz, LetzteSpalteInBereich(Rows(zz))))))
If (lngZ - zz) Mod 2 = 1 Then
intVR = 1:     lngA = 1:               lngE = UBound(arrT)
Else
intVR = -1:    lngA = UBound(arrT):    lngE = 1
End If
For ss = lngA To lngE Step intVR
Select Case arrT(ss)
Case "X", "EA"
nn = 0
Case "A"
nn = 0:   blnZahl = intVR = 1
Case "E"
nn = 0:   blnZahl = intVR = -1
Case Else
If blnZahl Then
nn = nn + 1:   Cells(zz, ss) = nn
If rngF Is Nothing Then
Set rngF = Cells(zz, ss)
Else
Set rngF = Union(rngF, Cells(zz, ss))
End If
End If
End Select
Next ss
Next zz
If rngF Is Nothing Then
MsgBox "Es wurden keine Zahlen eingetragen.", vbInformation
Else
rngF.Font.Size = 9
rngF.Font.Bold = False
End If
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
.EnableEvents = True
End With
End Sub
Die beiden anderen Codes im Modul - LoescheZahlen() und LetzteSpalteInBereich(...) -
bleiben unverändert.
Den Satz
"In Deinem Musterprogramm hast Du das so schön im Mako angezeigt,
dass immer verschiedene Sub's angesprungen werden. Bei mir nicht!"
habe ich überhaupt nicht verstanden. Da müsstest du noch mal anders fragen.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: mit Fehlerabfänger
15.11.2009 09:25:09
Rüdiger
Hallo Erich,
hier das in Schritten, was ich meinte.
1. Mache deine Versuchsdatei auf
2. klicke auf Extras
3. klicke auf Makro
4. dann kommt das Fenster: Makros.
Dann steht in dem Makro Fenster:
LoescheZahlen
Makro1
Spaltenbreite_in_cm
StrickzahlenAE2
ZeilenhoeheInCM
.
Wie kann ich das bei mir auch so machen, das was Du hast ist nämlich klasse.
Ich schreibe in das Mako Fenster oben Strickzahlen rein, wenn das Makro aufgeht, lösche ich die beiden Zeilen und kopiere dann das VBA PRG einfach rein. Wenn ich ein Makro haben will, gehe in dem Makro Fenster in Bearbeiten und dann in die SUB Routine mit der ich arbeiten will und drücke dann den Pfeil rechts zum Start.
Bei Deiner Version, muß ich nicht diesen Umweg machen.
Wie geht das, bitte erklähre mir das ganz einfach! Für Anfänger.
Bei der Routine bei Spalten und Zeilen in cm, sind das dann beim Ausdruck wirklich die cm (mm)?
Das wäre klasse, dann kann ich nämlich die genaue Breite des Forhanges oder der Decke bestimmen.
Ich habe das letzte Häkelmuster mit Zahlen ausfüllen lass, das dauerte und dauerte, ca 30 Minuten, aber es ging.
Noch einen schönen Sonntag wünscht Dir und Deiner Familie Rüdiger
AW: mit Fehlerabfänger
15.11.2009 11:09:43
Rüdiger
Hallo Erich, nochmal eine Bitte,
könntest Du mir ein VBA PRG schreiben, das nur die "A und E und AE" löscht, Ist sehr nett.
Es ist natürlich arbeitsintensiv, wenn ich die wieder per Hand löschen muß, es ist schon arbeitsintensiv, wenn ich die reinsetzen muß was ich ntürlich gerne mache, da Dein neues PRG wunderbar funkioniert!
Im übrigen habe ich das einsetzten der Zahlen in dem großen Häkelmuster in 50ger Schritten gemacht, geht natürlich viel schneller, pro Schritt ca 20 Sekunden!
Gruß Rüdiger

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige