Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
756to760
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
756to760
756to760
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA code funkt nicht!?!

VBA code funkt nicht!?!
18.04.2006 16:13:49
thorben
Hallo,
ich versuche gerade eine Exceltabelle zuerstellen. Und zwar soll ein User auf dem ersten sheet "gesamt" seine persönlichen Daten angeben. und wenn er in Zeile K eine bestimmte auswahl anklickt, dann sollen die Daten in ein weiteres Sheet übernommen werden. also wenn er z.b. die 2 auswählt dann sollen die daten in das sheet "mexiko vs Angola" übernommen werden. Hierzu habe ich folgenden code zusammengebastelt:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngTarget As Range, rngUeBereich As Range
Set rngUeBereich = Range("A5:K200")
Set rngTarget = Application.Union(Range(Target.Address), rngUeBereich)
If rngTarget.Address = rngUeBereich.Address Then
If Target.Count = 1 Then
If Range("L" & Sheets("Dummy").Cells(1, 3)) = 1 Then
DatensatzEintragenghana
Else
If Range("L" & Sheets("Dummy").Cells(1, 3)) = 2 Then
DatensatzEintragenmex
Else
If Range("L" & Sheets("Dummy").Cells(1, 3)) = 3 Then
DatensatzEintragencos
Else
If Range("L" & Sheets("Dummy").Cells(1, 3)) = 4 Then
DatensatzEintragenschw
Else
If Range("L" & Sheets("Dummy").Cells(1, 3)) = 5 Then
DatensatzEintragen8
End If
End If
End If
Set rngUeBereich = Nothing
Set rngTarget = Nothing
End Sub


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ThisWorkbook.Worksheets("Dummy").Range("B1").Value = Target.Address
ThisWorkbook.Worksheets("Dummy").Range("C1").Value = Target.Row
ThisWorkbook.Worksheets("Dummy").Range("D1").Value = Target.Column
End Sub

Sub DatensatzEintragenghana()
Dim LetzteZeile As Integer
LetzteZeile = Sheets("Sondertermine").Cells(Cells.Rows.Count, 2).End(xlUp).Row
Sheets("Italien vs Ghana").Cells(LetzteZeile + 1, 2) = Sheets("Gesamt").Range("B" & Sheets("Dummy").Cells(1, 3))
Sheets("Italien vs Ghana").Cells(LetzteZeile + 1, 3) = Sheets("Gesamt").Range("C" & Sheets("Dummy").Cells(1, 3))
Sheets("Italien vs Ghana").Cells(LetzteZeile + 1, 4) = Sheets("Gesamt").Range("D" & Sheets("Dummy").Cells(1, 3))
Sheets("Italien vs Ghana").Cells(LetzteZeile + 1, 5) = Sheets("Gesamt").Range("E" & Sheets("Dummy").Cells(1, 3))
Sheets("Italien vs Ghana").Cells(LetzteZeile + 1, 6) = Sheets("Gesamt").Range("F" & Sheets("Dummy").Cells(1, 3))
Sheets("Italien vs Ghana").Cells(LetzteZeile + 1, 7) = Sheets("Gesamt").Range("G" & Sheets("Dummy").Cells(1, 3))
Sheets("Italien vs Ghana").Cells(LetzteZeile + 1, 8) = Sheets("Gesamt").Range("H" & Sheets("Dummy").Cells(1, 3))
Sheets("Italien vs Ghana").Cells(LetzteZeile + 1, 9) = Sheets("Gesamt").Range("I" & Sheets("Dummy").Cells(1, 3))
Sheets("Italien vs Ghana").Cells(LetzteZeile + 1, 10) = Sheets("Gesamt").Range("J" & Sheets("Dummy").Cells(1, 3))
End Sub
Sub DatensatzEintragenmex()
Dim LetzteZeile As Integer
LetzteZeile = Sheets("Sondertermine").Cells(Cells.Rows.Count, 2).End(xlUp).Row
Sheets("Mexiko vs Angola").Cells(LetzteZeile + 1, 2) = Sheets("Gesamt").Range("B" & Sheets("Dummy").Cells(1, 3))
Sheets("Mexiko vs Angola").Cells(LetzteZeile + 1, 3) = Sheets("Gesamt").Range("C" & Sheets("Dummy").Cells(1, 3))
Sheets("Mexiko vs Angola").Cells(LetzteZeile + 1, 4) = Sheets("Gesamt").Range("D" & Sheets("Dummy").Cells(1, 3))
Sheets("Mexiko vs Angola").Cells(LetzteZeile + 1, 5) = Sheets("Gesamt").Range("E" & Sheets("Dummy").Cells(1, 3))
Sheets("Mexiko vs Angola").Cells(LetzteZeile + 1, 6) = Sheets("Gesamt").Range("F" & Sheets("Dummy").Cells(1, 3))
Sheets("Mexiko vs Angola").Cells(LetzteZeile + 1, 7) = Sheets("Gesamt").Range("G" & Sheets("Dummy").Cells(1, 3))
Sheets("Mexiko vs Angola").Cells(LetzteZeile + 1, 8) = Sheets("Gesamt").Range("H" & Sheets("Dummy").Cells(1, 3))
Sheets("Mexiko vs Angola").Cells(LetzteZeile + 1, 9) = Sheets("Gesamt").Range("I" & Sheets("Dummy").Cells(1, 3))
Sheets("Mexiko vs Angola").Cells(LetzteZeile + 1, 10) = Sheets("Gesamt").Range("J" & Sheets("Dummy").Cells(1, 3))
End Sub
Sub DatensatzEintragencos()
Dim LetzteZeile As Integer
LetzteZeile = Sheets("Sondertermine").Cells(Cells.Rows.Count, 2).End(xlUp).Row
Sheets("Costa Rica vs Polen").Cells(LetzteZeile + 1, 2) = Sheets("Gesamt").Range("B" & Sheets("Dummy").Cells(1, 3))
Sheets("Costa Rica vs Polen").Cells(LetzteZeile + 1, 3) = Sheets("Gesamt").Range("C" & Sheets("Dummy").Cells(1, 3))
Sheets("Costa Rica vs Polen").Cells(LetzteZeile + 1, 4) = Sheets("Gesamt").Range("D" & Sheets("Dummy").Cells(1, 3))
Sheets("Costa Rica vs Polen").Cells(LetzteZeile + 1, 5) = Sheets("Gesamt").Range("E" & Sheets("Dummy").Cells(1, 3))
Sheets("Costa Rica vs Polen").Cells(LetzteZeile + 1, 6) = Sheets("Gesamt").Range("F" & Sheets("Dummy").Cells(1, 3))
Sheets("Costa Rica vs Polen").Cells(LetzteZeile + 1, 7) = Sheets("Gesamt").Range("G" & Sheets("Dummy").Cells(1, 3))
Sheets("Costa Rica vs Polen").Cells(LetzteZeile + 1, 8) = Sheets("Gesamt").Range("H" & Sheets("Dummy").Cells(1, 3))
Sheets("Costa Rica vs Polen").Cells(LetzteZeile + 1, 9) = Sheets("Gesamt").Range("I" & Sheets("Dummy").Cells(1, 3))
Sheets("Costa Rica vs Polen").Cells(LetzteZeile + 1, 10) = Sheets("Gesamt").Range("J" & Sheets("Dummy").Cells(1, 3))
End Sub
Sub DatensatzEintragenschw()
Dim LetzteZeile As Integer
LetzteZeile = Sheets("Sondertermine").Cells(Cells.Rows.Count, 2).End(xlUp).Row
Sheets("Schweiz vs Südkorea").Cells(LetzteZeile + 1, 2) = Sheets("Gesamt").Range("B" & Sheets("Dummy").Cells(1, 3))
Sheets("Schweiz vs Südkorea").Cells(LetzteZeile + 1, 3) = Sheets("Gesamt").Range("C" & Sheets("Dummy").Cells(1, 3))
Sheets("Schweiz vs Südkorea").Cells(LetzteZeile + 1, 4) = Sheets("Gesamt").Range("D" & Sheets("Dummy").Cells(1, 3))
Sheets("Schweiz vs Südkorea").Cells(LetzteZeile + 1, 5) = Sheets("Gesamt").Range("E" & Sheets("Dummy").Cells(1, 3))
Sheets("Schweiz vs Südkorea").Cells(LetzteZeile + 1, 6) = Sheets("Gesamt").Range("F" & Sheets("Dummy").Cells(1, 3))
Sheets("Schweiz vs Südkorea").Cells(LetzteZeile + 1, 7) = Sheets("Gesamt").Range("G" & Sheets("Dummy").Cells(1, 3))
Sheets("Schweiz vs Südkorea").Cells(LetzteZeile + 1, 8) = Sheets("Gesamt").Range("H" & Sheets("Dummy").Cells(1, 3))
Sheets("Schweiz vs Südkorea").Cells(LetzteZeile + 1, 9) = Sheets("Gesamt").Range("I" & Sheets("Dummy").Cells(1, 3))
Sheets("Schweiz vs Südkorea").Cells(LetzteZeile + 1, 10) = Sheets("Gesamt").Range("J" & Sheets("Dummy").Cells(1, 3))
End Sub
Sub DatensatzEintragen8()
Dim LetzteZeile As Integer
LetzteZeile = Sheets("Sondertermine").Cells(Cells.Rows.Count, 2).End(xlUp).Row
Sheets("8-Finale").Cells(LetzteZeile + 1, 2) = Sheets("Gesamt").Range("B" & Sheets("Dummy").Cells(1, 3))
Sheets("8-Finale").Cells(LetzteZeile + 1, 3) = Sheets("Gesamt").Range("C" & Sheets("Dummy").Cells(1, 3))
Sheets("8-Finale").Cells(LetzteZeile + 1, 4) = Sheets("Gesamt").Range("D" & Sheets("Dummy").Cells(1, 3))
Sheets("8-Finale").Cells(LetzteZeile + 1, 5) = Sheets("Gesamt").Range("E" & Sheets("Dummy").Cells(1, 3))
Sheets("8-Finale").Cells(LetzteZeile + 1, 6) = Sheets("Gesamt").Range("F" & Sheets("Dummy").Cells(1, 3))
Sheets("8-Finale").Cells(LetzteZeile + 1, 7) = Sheets("Gesamt").Range("G" & Sheets("Dummy").Cells(1, 3))
Sheets("8-Finale").Cells(LetzteZeile + 1, 8) = Sheets("Gesamt").Range("H" & Sheets("Dummy").Cells(1, 3))
Sheets("8-Finale").Cells(LetzteZeile + 1, 9) = Sheets("Gesamt").Range("I" & Sheets("Dummy").Cells(1, 3))
Sheets("8-Finale").Cells(LetzteZeile + 1, 10) = Sheets("Gesamt").Range("J" & Sheets("Dummy").Cells(1, 3))
End Sub
Ich weiß, er ist ziemlich lang und ich hab ihn aus mehreren codes zusammengeflickt da ich davon nicht ganz soviel ahnung habe. wenn ich nun z.b. in das sheet "gesamt" etwas eingebe kommt der fehler: compile error!
habe schon versucht die datei hochzuladen, hat aber leider nicht funktioniert.
Bin für jede Hilfe dankbar.
Gruß thorben

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA code funkt nicht!?!
18.04.2006 17:11:07
Dan
Hallo, das Problem liegt wahrscheinlich in der sub Worksheet_Change. Es koennte so sein:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngTarget As Range, rngUeBereich As Range
Set rngUeBereich = Range("A5:K200")
Set rngTarget = Application.Union(Range(Target.Address), rngUeBereich)
If rngTarget.Address = rngUeBereich.Address Then
If Target.Count = 1 Then
If Range("L" & Sheets("Dummy").Cells(1, 3)) = 1 Then
DatensatzEintragenghana
ElseIf Range("L" & Sheets("Dummy").Cells(1, 3)) = 2 Then
DatensatzEintragenmex
ElseIf Range("L" & Sheets("Dummy").Cells(1, 3)) = 3 Then
DatensatzEintragencos
ElseIf Range("L" & Sheets("Dummy").Cells(1, 3)) = 4 Then
DatensatzEintragenschw
ElseIf Range("L" & Sheets("Dummy").Cells(1, 3)) = 5 Then
DatensatzEintragen8
End If
End If
End If
Set rngUeBereich = Nothing
Set rngTarget = Nothing
End Sub

Anzeige
AW: VBA code funkt nicht!?!
19.04.2006 13:36:25
thorben
Danke für die Antwort hat super geklappt!!!
Gruß Thorben

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige