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

Code anpassen

Code anpassen
25.01.2015 22:34:27
Andreas
Hallo Excelprofis,
Ich hab mal wieder ein Problem bei dem ich mit meinen bescheidenen VBA-Kenntnissen nicht weiter komme.
Mit folgendem Code (Auszug) trage ich Werte aus einem UserForm in verschiedene Zellen des Blattes "Abholung" ein.
Jetzt habe ich das Problem, dass je nach dem ob ChechBox1 oder CheckBox2 aktiviert ist, in das Blatt "Abholung" oder in das Blatt "Lieferung" geschrieben werden soll.
Also,
wenn die CheckBox1 auf True steht dann "Set wks = Sheets("Abholung")"
wenn die CheckBox2 auf True steht dann "Set wks = Sheets("Lieferung")"

Dim zeile As Long, objControl As Control, intI As Integer, wks As Worksheet
zeile = 21
Set wks = Sheets("Abholung")
wks.Range("B22:B43").ClearContents
For intI = 21 To 40
Set objControl = Me.Controls("Combobox" & Format(intI, "0"))
If objControl.Text  "" Then
zeile = zeile + 1
wks.Cells(zeile, 2) = objControl.Text
End If
Next
wks.Range("C11") = ComboBox2.Text 'Datum
wks.Range("F11") = ComboBox3.Text 'Zeit
wks.Range("G11").Value = "bis"   'bis
wks.Range("H11") = ComboBox4.Text 'Zeit
wks.Range("B14").Value = Me.TextBox1.Text 'Name
wks.Range("B20").Value = Me.TextBox2.Text 'Telefon
wks.Range("B16").Value = Me.TextBox3.Text 'Strasse + Nummer
wks.Range("F16").Value = Me.TextBox4.Text 'Etage
wks.Range("B18").Value = Me.TextBox5.Text 'Ort
wks.Range("B46").Value = Me.TextBox7.Text 'Bemerkungen
wks.Range("A4").Value = Me.TextBox19.Text 'Auftragsnummer
Kann mir bitte Jemand weiterhelfen.
mfg, Andreas

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code anpassen
25.01.2015 22:51:48
Gerold
Hallo Andreas

If Me.CheckBox1 = True Then Set wks = Sheets("Abholung")
If Me.CheckBox2 = True Then Set wks = Sheets("Lieferung")
________________
Gruß Gerold

AW: Code anpassen
25.01.2015 23:05:26
Andreas
Hallo Gerold,
vielen Dank für die schnelle Hilfe. Hatte es auch schon so probiert, aber das ME. vor den ComboBoxen nicht gesetzt.
Einen schönen Abend noch.
mfg, Andreas

AW: Code anpassen
25.01.2015 23:06:10
Andreas
Ich meine natürlich ME. vor den CheckBoxen.

Der Wert einer angehakten CheckBox ist True!
26.01.2015 01:10:58
Luc:-?
Du schreibst also True = True, Gerold,
was einen überflüssigen Vgl darstellt. So etwas wirst du in ProfiPgmm nicht finden!
Gruß, Luc :-?

Anzeige
@Luc
26.01.2015 10:38:33
Gerold
Hallo Luc
Wer sagt denn das ich ein Profi bin
Gut ich könnte es auch - If Me.CheckBox1 Then - schreiben
Aber für jemand der in VBA kaum Erfahrung hat ist meiner
Meinung nach ein Vergleich mit True Sinnvoller.
________________
Gruß Gerold

Für 'sinnvoll' halte ich eher das Angewöhnen ...
27.01.2015 20:35:19
Luc:-?
…eines vernünftigen PgmierStils von anfang an, Gerold,
wozu auch gehört, dass man weiß, dass If … Then den Booleschen Wert True verlangt, egal, ob der durch einen Vgl (bzw per - ggf auch automatischer - Umformung ohne, sonst mit CBool ) erzeugt wird oder - wie hier - bereits vorliegt (was auch der VBE-Intellisense anzeigt!).
Dazu zeige ich dir hier mal eine etwas spezielle Demo: ;-)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Const txZiel$ = "'true 'false 'wahr 'falsch"
Randomize: Target = Split(txZiel)(CLng(Rnd() * 100) Mod 4)
MsgBox Array("Nein!", "Ja!")(Abs(CBool(Target(1))))
End Sub
Man kann natürlich auch If Target(1) Then MsgBox "Ja!" Else MsgBox "Nein!" schreiben.
Gruß, Luc :-?
Besser informiert mit …
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige