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

Visual Basic Code Änderung

Visual Basic Code Änderung
15.03.2024 11:31:00
Jo65
Hallo zusammen,
im Moment habe ich in Zelle I3 folgende Formel stehen
=WENN(F3=936;39;WENN(F3=937;16;WENN(F3=950;12;WENN(F3=951;32;WENN(F3=978;77;"")))))

Und einen Drucken Button mit folgendem Code
ist es möglich, dass man die Formel in den Code mit schreibt so das mein Feld I20 leer ist und wenn ich im Feld I20 z.B. einen
anderen Wert eingebe, so das dann die Wenn Formel nicht greift sodern mein eingegebener Wert.
Hoffe man kann das verstehen.

Private Sub CommandButton1_Click()
Dim iVon As Integer, iBis As Integer, iZ As Integer, RNG As Range

If Not IsEmpty(Range("F3").Value) Then Range("E20") = Range("F3")

With Sheets("Vordruck")
iVon = .Range("G3")
iBis = .Range("I3")

Set RNG = .Range("I20")

For iZ = iVon To iBis
RNG = iZ
.PrintOut Copies:=1
Next
Union(Range("I20").MergeArea, Range("E20").MergeArea).ClearContents
End With
End Sub

Danke im voraus für eure Antworten
Lg
Jo65

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Visual Basic Code Änderung
15.03.2024 11:57:38
Oppawinni
sowas ?
Private Sub CommandButton1_Click()


Dim iVon As Integer, iBis As Integer, iZ As Integer
Dim rngPageCount As Range

If Not IsEmpty(Range("F3").Value) Then Range("E20") = Range("F3")

With Sheets("Vordruck")

iVon = .Range("G3")

If IsEmpty(.Range("I3")) Then
Select Case .Range("F3")
Case 936: iBis = 39
Case 937: iBis = 16
Case 950: iBis = 12
Case 951: iBis = 32
Case 978: iBis = 77
Case Else: iBis = 0
End Select
Else
iBis = .Range("i3")
End If

Set rngPageCount = .Range("I20")

For iZ = iVon To iBis
rngPageCount.Value = iZ
.PrintOut Copies:=1
Next

Union(Range("I20").MergeArea, Range("E20").MergeArea).ClearContents

End With
End Sub
Anzeige
AW: Danke
15.03.2024 13:29:22
Jo65
Hallo Oppawinni,
vielen Dank.
Funktioniert super
Lg. Jo65
AW: Feld I 20
15.03.2024 19:12:33
Jo65
Hallo nochmal,
mir ist eben aufgefallen, dass das Feld I20
zu spät aktuallisiert wird wenn ich die Daten von Hand eingebe.
Kannst du da nochmals drüber schauen bitte.
Danke Lg Jo 65
AW: Feld I 20
15.03.2024 21:29:11
Oppawinni
Das ist aber im Grunde nicht anders als es war.
D.h. eigentlich hätte das dann auch schon vorher auftreten müssen.
Ich sehe jedenfalls keinen Grund, warum das jetzt anders eine sollte.
Du kannst ja vielleicht mal dem Printout noch ein
Application.Calculate
setzen, also in der For Schleife
rngPageCount = iZ
Application.Calculate
.PrintOut Copies:=1
Dann halt bitte Rückmeldung, inwieweit das etwas ändert. Danke
Anzeige
AW: Feld I 20
16.03.2024 04:00:18
Jo65
Hallo Oppawinni,
ich hab dir mal eine Beispieldatei angefügt.
Dadurch das das Feld I20 so spät aktualisiert wird erscheind der Barcode nicht auf dem Ausdruck.
Wenn ich das Feld I3 leer lasse funktioniert es.
Vieleicht ist ja auch ein anderer Fehler dafür verantwortlich.
Vielen Dank für deine Hilfe.

https://www.herber.de/bbs/user/168037.xlsm
Lg.
Jo65
AW: Feld I 20
16.03.2024 09:27:42
Jo65
Hallo Oppawinni,
ich hab dir mal eine Beispieldatei angefügt.
Dadurch das das Feld I20 so spät aktualisiert wird erscheind der Barcode nicht auf dem Ausdruck.
Wenn ich das Feld I3 leer lasse funktioniert es.
Vieleicht ist ja auch ein anderer Fehler dafür verantwortlich.
Vielen Dank für deine Hilfe.

https://www.herber.de/bbs/user/168037.xlsm
Lg.
Jo65
Anzeige
AW: Feld I 20
16.03.2024 10:26:08
Oppawinni
Ich hab heute nicht viel Zeit, kann mich mit deiner Datei jetzt nicht auseinandersetzen,
aber ich vermute, dass das Problem eher an E20 liegt. Teste bitte:

Private Sub CommandButton1_Click()


Dim iVon As Integer, iBis As Integer, iZ As Integer
Dim rngPageCount As Range

With Sheets("Vordruck")

iVon = .Range("G3")

If IsEmpty(.Range("I3")) Then
Select Case .Range("F3")
Case 936: iBis = 39
Case 937: iBis = 16
Case 950: iBis = 12
Case 951: iBis = 32
Case 978: iBis = 77
Case Else: iBis = 0
End Select
Else
iBis = .Range("i3")
End If

Set rngPageCount = .Range("I20")
.Range("E20") = iBis

For iZ = iVon To iBis
rngPageCount.Value = iZ
.PrintOut Copies:=1
Next

Union(Range("I20").MergeArea, Range("E20").MergeArea).ClearContents

End With
End Sub
Anzeige
AW: Feld I 20
16.03.2024 10:39:02
Jo65
Hallo Oppawinni,
nein das funktioniert leider nicht jetzt erscheint in E20 nicht mehr die Nummer aus F3
Wenn du wieder Zeit hast, kannst du dir das ja vieleicht nochmals anschauen.
Dank im voraus
Lg
Jo65
AW: Feld I 20
16.03.2024 20:38:44
Oppawinni
Ich hab weder die Funktion, noch den Font, der deinen Barcode macht und kann kein Problem feststellen.
Setzt doch mal ein Wait vor den Print.
Und schau, ob sich in Zelle C7 der Wert ändert, wenn ja, ob sich der Barcode ändert.
Du kannst ja das Drucken auch erst einmal auskommentieren.

Private Sub CommandButton1_Click()


Dim iVon As Integer, iBis As Integer, iZ As Integer
Dim rngPageCount As Range


With Sheets("Vordruck")

If Not IsEmpty(.Range("F3").Value) Then .Range("E20") = .Range("F3")

iVon = .Range("G3")

If IsEmpty(.Range("I3")) Then
Select Case .Range("F3")
Case 936: iBis = 39
Case 937: iBis = 16
Case 950: iBis = 12
Case 951: iBis = 32
Case 978: iBis = 77
Case Else: iBis = 0
End Select
Else
iBis = .Range("i3")
End If

Set rngPageCount = .Range("I20")

For iZ = iVon To iBis
rngPageCount = iZ
Application.Wait (Now + TimeValue("0:00:01"))
.PrintOut Copies:=1
Next

Union(.Range("I20").MergeArea, .Range("E20").MergeArea).ClearContents

End With
End Sub
Anzeige
AW: Feld I 20
16.03.2024 21:02:38
Jo65
Hallo Oppawinni,
ich glaube ich weiß woran es liegt.
Wenn die Zahl in G2 z.B. unter 10 ist also nur 1 stellig ist funktioniert der Barcode nicht, weil 1 Zahl fehlt.
Habe eben bei von: 9 und bei bis: 10 eingegeben, dann hat er auf dem Ausdruck mit der 10 den Barcode erstellt
und bei der 9 nicht.
Hast du da evtl. eine Lösung für?
Danke für deine Mühe
Lg Jo65
AW: Feld I 20
16.03.2024 22:08:57
Oppawinni
Deine Formel in C7 sollte vielleicht so aussehen:
=E20&F7&RECHTS(WIEDERHOLEN("0";6)&I20;6)
AW: Feld I 20
16.03.2024 22:18:57
Oppawinni
oder schöner:
=E20&F7&TEXT(I20;"000000")
AW: Feld I 20
16.03.2024 22:30:08
Oppawinni
Oder überhaupt:
=TEXT(E20;"000")&TEXT(F7;"000")&TEXT(I20;"000000")
Anzeige
AW: Feld I 20
16.03.2024 22:44:33
Jo65
Super jetzt klappt es.
Wenn jetzt noch in Feld I20
die 1 stelligen Zahlen als 01, 02 usw. angezeigt würden
wäre es perfekt.
Danke
AW: Feld I 20
16.03.2024 22:56:09
Oppawinni
Zelle I20 selectieren, rechte Maustaste
Zelle formatieren wählen
Reiter: Zahlen (ist schon gewählt)
Kategorie: Benutzerdefiniert
Typ: 00
ok
AW: Danke an Oppawinni
17.03.2024 06:48:37
Jo65
Jetzt ist es Perfekt
Vielen Dank
Bitteschön (owT)
18.03.2024 10:40:50
OpaWinni
Hab mich neu registriert, weil meine alte EMail-Adresse nicht mehr aktiv ist und ich daher keine Benachrichtigungen bekomme. Daher die Namensänderung.
AW: Bitteschön (owT)
18.03.2024 10:59:33
OpaWinni
?

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige