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

Einbau Code in bestehenden

Einbau Code in bestehenden
02.11.2023 12:43:14
chris1958
Hallo !
Ich möchte Euch um einen Gefallen bitten. Wie kann und wo muß ich diesen Code in meinen Gesamtcode einbinden, das dieser bei Aufruf des Formulars auf einmal läuft und ich nicht immer zuerst den einen und dann den anderen eintragen muß.
Hier der Code, der eingebaut werden soll:
Private Sub UserForm_Initialize()
ComboBox1.AddItem "Sonne/heisses Wetter"
ComboBox1.AddItem "Sonne/warm/klarer Himmel"
ComboBox1.AddItem "Sonne/warm/bewölkter Himmel"
ComboBox1.AddItem "Sonne/kalt/klarer Himmel"
ComboBox1.AddItem "Bewölkt/wenig Sonne"
ComboBox1.AddItem "Bewölkt/neblig/wenig Sonne"
ComboBox1.AddItem "Bewölkt/nebling/kalt"
ComboBox1.AddItem "Nebel/keine Sonne/Akku geleert"

Range("N19") = ComboBox1.Value
End Sub

und hier der bestehende Code, wo dieser gemeinsam sein soll:
Option Explicit
Private Sub CommandButton3_Click()
Dim StartZeile&
Dim Ws As Worksheet
Set Ws = ActiveSheet
StartZeile = Ws.Cells(3, 1).End(xlUp).Row + 5
TextBox1 = Int(Ws.Cells(StartZeile, 3) / 1000)
UserForm1.TextBox1.SetFocus
Ws.Cells(StartZeile + 1, 3) = TextBox3
End Sub
Private Sub CommandButton5_Click()
UserForm1.TextBox4.SetFocus
Range("C17").Value = CDbl(TextBox4.Text)
End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
Private Sub CommandButton4_Click()

If Not IsNumeric(TextBox4.Text) Then
MsgBox "PV Einspeisung eigeben - oder 0!" '---> Meldung
TextBox4.SetFocus '---> Textbox aktivieren
Exit Sub '---> Makro sofort beenden
UserForm1.TextBox4.SetFocus
End If

Range("C17").Value = CDbl(TextBox4.Text)

If Not IsNumeric(TextBox5.Text) Then
MsgBox "PV Eigenverbrauch eigeben - oder 0!" '---> Meldung
TextBox5.SetFocus '---> Textbox aktivieren
Exit Sub '---> Makro sofort beenden
UserForm1.TextBox5.SetFocus
End If

Range("C18").Value = CDbl(TextBox5.Text)

If Not IsNumeric(TextBox6.Text) Then
MsgBox "PV Eigenverbrauch eigeben - oder 0!" '---> Meldung
TextBox6.SetFocus '---> Textbox aktivieren
Exit Sub '---> Makro sofort beenden
UserForm1.TextBox6.SetFocus
End If

Range("C19").Value = CDbl(TextBox6.Text)

Dim StartZeile&
Dim Ws As Worksheet
Set Ws = ActiveSheet
StartZeile = Ws.Cells(3, 1).End(xlUp).Row + 5


Ws.Cells(StartZeile, 3) = CDbl(Format(TextBox1, "#,##0.00"))


Ws.Cells(StartZeile + 1, 3) = TextBox3


Dim i As Long
Const NewConstSheet As String = "Berechnung"
Dim bfound As Boolean
Dim sMerk As String
Dim sMaxZeile As Long
Dim TB As Worksheet

Application.ScreenUpdating = False

'Prüfen ob Tabelle NewConstSheet schon angelegt ist
For i = 1 To ActiveWorkbook.Sheets.Count
If ActiveWorkbook.Sheets(i).Name = NewConstSheet Then
bfound = True
Exit For
End If
Next i

'wenn nicht dann anlegen
If bfound = False Then
sMerk = ActiveWorkbook.ActiveSheet.Name
ActiveWorkbook.Sheets.Add after:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
ActiveWorkbook.ActiveSheet.Name = NewConstSheet
ActiveWorkbook.Sheets(sMerk).Activate
End If

Set TB = ActiveWorkbook.Sheets(NewConstSheet)

'nächste leere Zeile ermitteln
sMaxZeile = TB.Cells(TB.Rows.Count, 1).End(xlUp).Row + 1

'Daten in neue Tabelle übertragen
TB.Cells(sMaxZeile, 1) = ActiveWorkbook.ActiveSheet.Range("C7")
TB.Cells(sMaxZeile, 2) = ActiveWorkbook.ActiveSheet.Range("B7")
TB.Cells(sMaxZeile, 3) = ActiveWorkbook.ActiveSheet.Range("C6")
TB.Cells(sMaxZeile, 4) = ActiveWorkbook.ActiveSheet.Range("C12")
TB.Cells(sMaxZeile, 5) = ActiveWorkbook.ActiveSheet.Range("C13")
TB.Cells(sMaxZeile, 6) = ActiveWorkbook.ActiveSheet.Range("C14")
TB.Cells(sMaxZeile, 7) = ActiveWorkbook.ActiveSheet.Range("C15")

TB.Cells(sMaxZeile, 10) = ActiveWorkbook.ActiveSheet.Range("C17")
TB.Cells(sMaxZeile, 11) = ActiveWorkbook.ActiveSheet.Range("C18")
TB.Cells(sMaxZeile, 12) = ActiveWorkbook.ActiveSheet.Range("C19")
TB.Cells(sMaxZeile, 14) = ActiveWorkbook.ActiveSheet.Range("N19")


' Formel in Spalte H
TB.Cells(sMaxZeile, 8).FormulaR1C1 = "=(RC3-R[-1]C3)/(RC1-R[-1]C1)"

' Formel in Spalte I
TB.Cells(sMaxZeile, 9).FormulaR1C1 = "=(RC[-1])/24"
' Formel in Spalte L
TB.Cells(sMaxZeile, 13).FormulaR1C1 = "=TEXT(RC[-12],""TTTT"")"
Range("A2").Select
Application.ScreenUpdating = True
Unload Me '--- Userform schließen
End Sub

Ich möchte mich bereits jetzt für Eure Hilfe bedanken
chris

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

Betreff
Datum
Anwender
Anzeige
AW: Einbau Code in bestehenden
02.11.2023 13:14:48
Oberschlumpf
Hi,

der ERSTE SCHRITT, der dich vielleicht deinem Ziel näher bringt, könnte sein:

Zeig uns doch bitte - nicht nur - Code, sondern zeig uns bitte per Upload eine funktionierende Bsp-Datei MIT Bsp-Daten MIT deinem alten + neuen Code, und natürlich MIT Userform (und Code), wenn im Original auch eins enthalten ist.

Chris, auch du bist doch nicht erst seit gestern hier. Wieso machst du es trotzdem fast immer wieder so wie jetzt???
Bitte woher sollen wir wissen, wo dein neuer "Wunschcode" hinsoll, wenn wir nix zum Testen haben????
Ja, ich weiß, es gibt...immer wieder mal...einige, wenige Helfer, die das Ganze - vielleicht - auch ohne Test-Datei lösen können.

Aber willst du wirklich nur - immer wieder - darauf hoffen, dass von diesen wenigen Vielleicht-Helfern wenigstens einer für dich Zeit hat???
Möchtest du nicht auch schnell eine helfende Antwort erhalten???
Ja, das mit "schnell" KANN möglich sein, wenn es VIELE Helfer gibt = umso besser deine gelieferten Bsp-Informationen = um so größer die Wahscheinlichkeit, dass sich um so mehr "Vielleicht-Helfer" daran ausprobieren.

Ach so, für hier bin ich nur mal der "Vorreiter", der darauf hofft, für andere mögliche Helfer eine bessere Ausgangssituation zu erreichen. Aber ich selbst habe im Mom nicht sooo viel Zeit zu helfen.

Ciao
Thorsten
Anzeige
AW: Einbau Code in bestehenden
02.11.2023 17:20:23
chris1958
Hallo !
Ja, ich dachte, man kann das einfach so machen. Tut mir leid - hier die Datei.

https://www.herber.de/bbs/user/163994.zip
Danke nochmals
chris
AW: Einbau Code in bestehenden
02.11.2023 18:45:14
chris1958
Hallo !
Ja, ich dachte, man kann das einfach so machen. Tut mir leid - hier die Datei.

https://www.herber.de/bbs/user/163994.zip
Danke nochmals
chris
AW: Einbau Code in bestehenden
02.11.2023 21:04:18
ralf_b
Kopiere userform_initialize in den Codeteil von Userform1

Und "Range("N19") = ComboBox1.Value" unterhalb Private Sub CommandButton4_Click()


Anzeige
AW: Einbau Code in bestehenden
03.11.2023 10:08:38
chris58
Hallo !
Ich möchte mich für Eure Hilfe bedanken. Das passt nun wunderbar.
Danke nochmal
chris
AW: Einbau Code in bestehenden
03.11.2023 10:17:46
Oberschlumpf
Hallo Chris,

und ich freu mich sehr, dass Ralf dir helfen konnte!

UND...ich möchte mich bei dir entschuldigen!!!!!!

Hab mir meine Antwort an dich noch mal durchgelesen - und festgestellt - SO GEHT DAS NICHT!!!!
Sorry, tut mir leid, dass ich dich so angemeckert habe!

Ja, ich bleib bei meiner Meinung "mit Bsp-Datei ist fast jedes Problem schneller lösbar als ohne Bsp-Datei", ABER ICH MUSS EINFACH FREUNDLICHER DARAUF HINWEISEN, wenn ich schon darauf aufmerksam machen will - oder ich halt einfach die Klappe, und kümmer mich gar nicht um solche Beiträge.

Chris, tut mir echt leid!
Ich wünsch dir hier weiter viel Erfolg und lass dich durch mich (oder andere, die meckern) bloß nicht davon abbringen, weiterhin Fragen zu stellen!

Ciao
Thorsten
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige