Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1576to1580
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

Bei Null, Zeilenwert nicht übernehmen

Bei Null, Zeilenwert nicht übernehmen
24.08.2017 12:12:40
Gisela
Hallo zusammen,
mit folgendem Makro (hier aus dem Forum) werden in ein Belegblatt jeweils zwei Nummern aus der Spalte 64 übernommen und dann wird das Blatt ausgedruckt.
Das funktioniert super.
Sub tnr_eintragen()
Application.ScreenUpdating = False
Dim z
For z = 3 To 100 Step 2
If Cells(z, 64)  "" Then
Cells(6, 11) = Cells(z, 64)
Cells(11, 11) = Cells(z + 1, 64)
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End If
Next z
End Sub

Ich möchte aber, dass wenn der Wert (in Spalte 64) Null ist, die Zeile übersprungen wird. Erst der nächste Wert über Null soll übernommen werden, usw. Es kann auch vorkommen, dass mehrere Zeilen untereinander den Wert Null haben.
Meine bescheidenen Recorder-Kenntnisse reichen für eine Änderung nicht aus. Kann mir bitte jemand helfen?
Vielen Dank für jede Hilfe
Gisela

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bei Null, Zeilenwert nicht übernehmen
24.08.2017 12:21:29
Rudi
Hallo,
If Val(Cells(z, 64)) &gt 0 Then
Gruß
Rudi
AW: Bei Null, Zeilenwert nicht übernehmen
24.08.2017 12:43:23
Gisela
Hallo Rudi,
vielen Dank für deine Hilfe.
Es funktioniert bis zur ersten Zeile Wert größer Null. Es sollen aber auch in den folgenden Zeilen mit Wert Null in Spalte 64 unberücksichtigt werden. Also auch einzelne weitere Zeilen. Beispiel:
0
145
186
25
0
0
0
71
0
51
79
0
14
0
103
Die 1. Null wurde berücksichtigt, übernommen wurde als erste Zeile die 145. Danach alle weiteren Zeilenwerte, auch Null.
Hast du noch eine Idee?
Vielen Dank
Gisela
AW: Bei Null, Zeilenwert nicht übernehmen
24.08.2017 12:56:20
Rudi
Hallo,
wieso 145? wenn die erste 0 in Zeile 3 steht, ist die nächste Zahl 186, da Step 2. (z=3, 5, 7 etc)
Bei mir werden 186, 79 und 14 berücksichtigt.
Gruß
Rudi
Anzeige
AW: Bei Null, Zeilenwert nicht übernehmen
24.08.2017 13:14:54
Werner
Hallo Gisela,
hast du die Codezeile von Rudi auch so eingebaut?
Sub tnr_eintragen()
Application.ScreenUpdating = False
Dim z
For z = 3 To 100 Step 2
If Cells(z, 64)  "" Then
If Val(Cells(z, 64)) > 0 Then
MsgBox Cells(z, 64)
'Cells(6, 11) = Cells(z, 64)
'Cells(11, 11) = Cells(z + 1, 64)
'ActiveWindow.SelectedSheets.PrintOut Copies:=1
End If
End If
Next z
End Sub
Die Messagebox habe ich zum Testen drin.
Ausgegeben wird das, was Rudi schon geschrieben hat.
Gruß Werner
AW: Bei Null, Zeilenwert nicht übernehmen
24.08.2017 15:30:05
Gisela
Hallo Werner,
das von mir angeführte Beispiel enthält im Tabellenblatt, bevor die Zeile mit 145 auftaucht, einige andere Zeilen mit dem Wert Null. Beispiel ist nur ein Auszug. Sorry, wenn das zu einem Mißverständnis geführt haben sollte.
Makro sieht nach dem Vorschlag von Rudi, so aus:
Sub tnr_eintragen()
Application.ScreenUpdating = False
Dim z
For z = 3 To 100 Step 2
If Val(Cells(z, 64)) > 0 Then
Cells(6, 11) = Cells(z, 64)
Cells(11, 11) = Cells(z + 1, 64)
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End If
Next z
End Sub

Bei diesem Makro zeigt die MsgBox, folgendes an: 145, 25, 71, 51
Vielen Dank für jede Hilfe
Grüße
Gisela
Anzeige
AW: Bei Null, Zeilenwert nicht übernehmen
24.08.2017 15:59:39
Werner
Hallo Gisela,
mit diesen Angaben wird dir hier leider niemand weiterhelfen können.
Dein Makro macht im Moment folgendes:
-Start in Zeile 3
-Überprüfung von Spalte BL3, ob dort größer 0
-Wenn ja, dann deine Datenübertragung
-Wenn nein, wird nichts gemacht
-Sprung zwei Zeilen weiter (Step 2)
-Überprüfung von Zelle BL5, ob dort größer 0
-wenn ja, dann deine Datenübertragung
-wenn nein, wird nichts gemacht
-Sprung zwei Zeilen weiter
...usw.usw. bis Zeile 100
Vielleicht solltest du mal genau erklären, was du eigentlich erreichen möchtest. Am besten eine Beispielmappe hier hochladen. Die sollte aber in ihrem Aufbau deinem Original entsprechen. Am besten dann noch ein paar Daten eintragen, wie du dir dein Wunschergebnis vorstellst.
Es macht keinen Sinn hier eine Mappe einzustellen deren Aufbau nicht dem Original entspricht.
Gruß Werner
Anzeige
Beispielmappe_Null_kein Zellwert übernehmen
24.08.2017 16:41:31
Gisela
Hallo Werner,
vielen Dank für deinen Hinweis. Anbei eine Beispielmappe.
Im TB werden zwei Quittungsbelege untereinander erstellt. Nachdem die Kundennummern in den Zellen K6 und K11 eingefügt werden, werden die weiteren Daten über Formeln eingefügt und die Seite ausgedruckt. Das klappt alles.
Mit der Änderung möchte ich vermeiden, dass ich zuviele "Leerdrucke" mit Null erstelle.
Sorry, wenn ich mich etwas laienhaft angestellt habe.
https://www.herber.de/bbs/user/115722.xlsx
Viele Grüße
Gisela
...Toll, alles 0! Kannst meinen BT gern weiter ...
25.08.2017 04:32:51
Luc:-?
…ignorieren, Gisela… :->
Luc :-?
Anzeige
AW: ...Toll, alles 0! Kannst meinen BT gern weiter ...
25.08.2017 05:48:20
Gisela
Hallo Luc,
ich weiss nicht, was diese Anmerkung soll. Wie beschrieben sind meine Kenntnisse sehr begrenzt und deine anmerkungen habe ich nicht ganz verstanden - so einfach ist das Leben manchmal. Trotzdem Danke für deine Mühe. Gisela
AW: ..was soll diese Anmerkung?
25.08.2017 05:52:37
Gisela
Hallo Luc,
ich weiss nicht, was diese Anmerkung soll. Wie beschrieben, sind meine Kenntnisse sehr begrenzt und deine Anmerkungen habe ich nicht ganz verstanden - so einfach ist das Leben manchmal. Trotzdem Danke für deine Mühe. Gisela
Du kannst offensichtlich auch nicht mit Links ...
26.08.2017 04:03:56
Luc:-?
…und VBA-basierten UDFs (hier in Fmln) umgehen, Gisela,
obwohl du eine VBA-Lösung anstrebst. Hättest du eine brauchbare TestMappe geliefert, hätte ich dir das am konkreten Bsp ge­zeigt, aber da alle Werte in der betroffenen Spalte BL =0 sind, kann ich das natürlich nicht. Das Ergebnis wäre ein leeres Blatt! :-|
Ansonsten wird der Thread wohl immer länger wdn, obwohl es längst eine FertigLösung für dein Problem gibt (→ im Archiv). Aber du hast ja geruht, meinen BT komplett zu ignorieren, dann hast du diese Lösung auch nicht verdient und darfst ruhig weiter­wursch­teln… :->
Luc :-?
Anzeige
AW: Beispielmappe_Null_kein Zellwert übernehmen
25.08.2017 09:16:38
Werner
Hallo Gisela,
teste mal:
Public Sub Drucken()
Dim loLetzte As Long
Dim i As Long
Dim z As Long
With Worksheets("Tabelle1")
loLetzte = .Cells(.Rows.Count, 64).End(xlUp).Row
For i = 3 To loLetzte
If .Cells(6, 11)  "" And .Cells(11, 11)  "" Then
MsgBox "Drucken" & vbLf & .Cells(6, 11) & vbLf & .Cells(11, 11)
'.PrintOut Copies:=1
.Cells(6, 11).ClearContents
.Cells(11, 11).ClearContents
ElseIf .Cells(6, 11)  "" And i = loLetzte Then
MsgBox "Drucken" & vbLf & .Cells(6, 11) & vbLf & .Cells(11, 11)
'.PrintOut Copies:=1
.Cells(6, 11).ClearContents
End If
If .Cells(6, 11) = "" Or .Cells(11, 11) = "" Then
If .Cells(6, 11) = "" Then z = 6 Else z = 11
If .Cells(i, 64)  "" Then
If Val(.Cells(i, 64)) > 0 Then
.Cells(z, 11) = .Cells(i, 64)
z = z + 5
End If
End If
End If
Next i
End With
End Sub
Zum Testen habe ich Messageboxen drin, die die Werte aus K6 und K11 ausgeben. Wenn es passt einfach die Zeilen mit den Messageboxen aus dem Code rausschmeißen und bei den PrintOut die Auskommentierung raus nehmen.
Gruß Werner
Anzeige
Es gibt keine sonderlichen Probleme, wenn ...
24.08.2017 13:47:22
Luc:-?
…du ein universelles Fertigprodukt aus dem Archiv benutzt, Gisela,
das auf der Basis von 2 Datenmengen arbeitet: Schnitt-, Differenz- und Gesamtmengen. Dabei kann eine der beiden Datenmengen auch aus nur einer Zahl bestehen, hier 0. Dabei handelt es sich um eine sog UDF, die sowohl in einer SubProzedur als auch in einer ZellFml eingesetzt wdn kann. Hier die letztere Variante als plurale MatrixFml:
{=DataSet(BL3:BL100;0;-1)}
Es wird die Differenzmenge Menge1-Menge2 gebildet und der resultierende vertikale Vektor zurückgegeben.
Link DataSet (Vs1.3): https://www.herber.de/forum/archiv/1504to1508/t1507939.htm#1508954
Feedback nicht unerwünscht! Gruß, Luc :-?
Besser informiert mit …
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige