Herbers Excel-Forum - das Archiv
Mit VBA - Worksheet_Change Ereignis füllen
Betrifft: Mit VBA - Worksheet_Change Ereignis füllen
von: Andi_H
Geschrieben am: 24.10.2003 10:19:43
Hallo zusammen,
ich brauche mal wieder hilfe.
mit folgendem Code füge ich meiner Mappe ein neues sheet hinzu:
Private Sub cbNeuerMa_Click()
Dim str As String
If frmMAneu.txtfunktion = "" Or frmMAneu.txtfunktion = " " Or _
frmMAneu.txtName = "" Or frmMAneu.txtName = " " Then
MsgBox ("Fehlerhafte Eingabe, bitte wiederholen")
Exit Sub
End If
str = frmMAneu.txtfunktion & " " & frmMAneu.txtName.Text
Sheets.Add
With ActiveSheet
.Name = str
End With
frmMAneu.txtfunktion = ""
frmMAneu.txtName.Text = ""
End Sub
nun möchte ich in das neu erstellte sheet folgenden Code in Worksheet_Change ereignis schreiben, weiß aber leider nicht wie das geht. Kann mir da jemadn helfen? Vielen Dank schon mal.
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim i, xSum As Integer
If Target = "" Then Exit Sub
If Target.Row > 10 And Target.Row < 23 And Target.Column > 2 And Target.Column < 34 Then
For i = 3 To 33
Sum = Sum + Cells(Target.Row, i)
Next
Cells(Target.Row, 34) = Sum
Sum = 0
End If
End Sub
Gruß
Andi
Betrifft: AW: Mit VBA - Worksheet_Change Ereignis füllen
von: Nike
Geschrieben am: 24.10.2003 10:42:11
Hi,
schau mal in den ExcelFAQ (links unten) von Hans,
da gibt's u.a. diesen Bereich:
http://xlfaq.herber.de/gruppen/vb_prozedur.html
Bye
Nike
Betrifft: AW: Mit VBA - Worksheet_Change Ereignis füllen
von: Andi_H
Geschrieben am: 24.10.2003 10:57:27
Hi Nike,
vielen dank für den hinweis, werd ich gleich mal gucken.
Gruß
Andi
Betrifft: Nachfrage
von: Andi_H
Geschrieben am: 24.10.2003 11:15:37
Hi Nike,
ich habe mir jetzt was aus dem Code gebastelt, leider erhalte ich nun eine Fehlermeldung.
Fehler beim kompilieren.Verwendung einer Eigenschaft unzulässig und der Code stoppt an unten angegebener stelle.
Kannst du mir hier nochmal helfen?
Gruß
Andi
Private Sub cbNeuerMa_Click()
Dim str As String
If frmMAneu.txtfunktion = "" Or frmMAneu.txtfunktion = " " Or _
frmMAneu.txtName = "" Or frmMAneu.txtName = " " Then
MsgBox ("Fehlerhafte Eingabe, bitte wiederholen")
Exit Sub
End If
str = frmMAneu.txtfunktion & " " & frmMAneu.txtName.Text
Sheets.Add
With ActiveSheet
.Name = str
End With
' Code einfügen in ws_change
Dim wks As Worksheet
Set wks = ActiveSheet
With ActiveWorkbook.VBProject _
.VBComponents(wks.CodeName).CodeModule ' hier stoppt der Code CodeModule ist blau hinterlegt
.InsertLines 3, "
Private Sub Worksheet_Change(ByVal Target As Excel.Range)"
.InsertLines 4, "Dim i, xSum As Integer"
.InsertLines 5, "If Target = "" Then Exit Sub"
.InsertLines 6, "If Target.Row > 10 And Target.Row < 23 And Target.Column > 2 And Target.Column < 34 Then"
.InsertLines 7, "For i = 3 To 33"
.InsertLines 8, "Sum = Sum + Cells(Target.Row, i)"
.InsertLines 9, "Next"
.InsertLines 10, "Cells(Target.Row, 34) = Sum"
.InsertLines 11, "Sum = 0"
.InsertLines 12, "End If"
.InsertLines 13, "End Sub
"
End With
frmMAneu.txtfunktion = ""
frmMAneu.txtName.Text = ""
End Sub

 |
Betrifft: AW: Nachfrage
von: Nike
Geschrieben am: 24.10.2003 11:20:18
Hi,
der underscore _
wird das Problem sein, er verbindet eigentlich umgebrochene Zeilen
With ActiveWorkbook.VBProject
_
.VBComponents(wks.CodeName).CodeModule
Lösch ihn mal weg...
Bye
Nike
Betrifft: Vielen Dank Nike, klappt perfekt!! o.t.
von: Andi_H
Geschrieben am: 24.10.2003 11:31:25
Betrifft: Nochmals Nachfrage
von: Andi_H
Geschrieben am: 24.10.2003 12:52:48
Hallo Nike,
eben ist mir noch was aufgefallen:
bei der Übertragung dieser Zeile entsteht ein Fehler durch die ""
.InsertLines 5, "If target = "" Then Exit Sub"
diese Zeile erscheint im Ereignis so:
If target = " then Exit Sub
Weißt du wie ich dem Code sagen kann das er da zwei "" reinbasteln soll??
Nochmals Danke für die Hilfe.
Gruß
Andi
Betrifft: AW: Nochmals Nachfrage
von: Nike
Geschrieben am: 24.10.2003 12:58:41
Hi,
du wirst die Hochkommata jeweils selber noch auskommentieren müssen...
Also für jedes " mußt du """ machen.
Einfach mal ein bischen die AUsgabe mittels msgbox austüfteln.
Bye
Nike
Betrifft: Dankeschön nochmals!
von: Andi_H
Geschrieben am: 24.10.2003 13:06:06
Das wars, vielen Dank nochmal für die schnelle Hilfe.
.InsertLines 5, "If target = """" Then Exit Sub"
Gruß und schönes Wochenende
ANdi