Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
160to164
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
160to164
160to164
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

combobox

combobox
24.09.2002 07:50:20
clemens
Hi:
Ich habe ein problem. Ich habe ein Makro geschrieben, mit dem ich eine combobox auf dem activen worksheet erstellen kann mit einem speziellen listfillrange, soweit kein problem. mein problem liegt darin, dass ich versuche bei einem klick auf einen eintrag eine neue zeile im actuellen worksheet einzufügen, an einer bestimmten stelle. habe das programm für ein bestimmtes arbeitsblatt definiert und es dann versucht für die gesamte mappe zu definieren, durch abspeichern eines sub programmes unter "diese arbeitsmappe" aber es funktioniert nicht!
brauche dringend hilfe!
clemens

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: combobox
24.09.2002 08:47:37
Norbert
Hallo Clemens,

das Programm, welches für alle worksheets gilt, unter Modul abspeichern.

So habe ich das in einem Programm von mir gelöst.

dieses Programm unter Modul1
Sub Nullen_löschen()

On Error Resume Next
With ActiveCell.Offset(-1, 0).Select
Do While Len(ActiveCell) = 1
ActiveCell.Value = Empty
ActiveCell.Offset(-1, 0).Select
Loop
If Len(ActiveCell) = 9 Then
If Right(ActiveCell, 3) = "000" Then
ActiveCell.Value = Left(ActiveCell, 6)
End If
End If
End With
End Sub

und dieses Programm habe ich unter jedem Arbeitsblatt:


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Nullen_löschen
End If
End Sub

Gruß

Norbert

Anzeige
Re: combobox
24.09.2002 09:44:16
clemens
danke norbert, aber habe noch immer ein kleines problem: ich erstelle die combobox automtaisch, wenn ich ein neues blatt per makro einrichte, soweit so gut. aber ich möchte, dass nachher wenn auf einen eintrag geklickt wird, dass eine neue zeiele eingefügt wird und das funktioniert nicht, ich hänge die programme an:

zur erstellung der neuen combobox:
Sub Combo_click()

Dim oObj As OLEObject
Dim oCbox As MSForms.ComboBox
Dim cell As Range
Set oObj = ActiveSheet.OLEObjects.Add( _
ClassType:="Forms.ComboBox.1", _
Link:=False, _
DisplayAsIcon:=False, _
Left:=760.588235294118, _
Top:=167.647058823529, _
Width:=202.058823529412, _
Height:=23.8235294117647)
Set oCbox = oObj.Object
oObj.ListFillRange = Range("AE1:AE100").Address
oCbox.ListIndex = 0

End Sub

und dann die Änderung
Sub ComboBox1_Change()

Dim a As Variant
Dim b As Integer
Dim c As Integer
Dim i As Integer
Dim ag As String

c = Cells(2, 6).Value
a = Cells(3, 7).Value

If ComboBox1.Value = Empty Then
If MsgBox("Möchten Sie einen anderen Auftraggeber hinzufügen?", vbOKCancel) = vbCancel Then GoTo endo
ag = InputBox("Geben Sie den Namen des neuen Auftraggebers ein:")
If ag = Empty Then GoTo endo
Range(Cells(c - 5, 7), Cells(c + 2, 20)).Select
Application.CutCopyMode = True
Selection.Copy
Range(Cells(c + 3, 7), Cells(c + 10, 20)).Select
ActiveSheet.Paste
Range("F2").Value = Range("F2").Value + 11
Cells(c - 4, 9).Value = ag
Cells(c - 1, 9).Select
End If

For i = 2 To c
If Cells(i, 9).Value = ComboBox1.Value Then
If MsgBox("Möchten Sie eine neue Zeile einfügen?", vbOKCancel) = vbCancel Then GoTo endo

b = Cells(i + 3, 6).Value

Rows(b).Select
Selection.Insert Shift:=xlDown

Rows(b).Select
Selection.Copy
Rows(b - 1).Select
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False

Range(Cells(b - 1, 11), Cells(b - 1, 12)).Select
Selection.Copy
Range(Cells(b, 11), Cells(b, 12)).Select
Selection.PasteSpecial Paste:=xlPasteFormulas
Range(Cells(b + 1, 11), Cells(b + 1, 12)).Select
Selection.PasteSpecial Paste:=xlPasteFormulas

Cells(b - 1, 17).Select
Selection.Copy
Cells(b, 17).Select
Selection.PasteSpecial Paste:=xlPasteFormulas
Cells(b + 1, 17).Select
Selection.PasteSpecial Paste:=xlPasteFormulas

Cells(b, 7).Select
End If
Next


endo:


End Sub

vielleicht kannst du mir helfen??
danke, clemens

Anzeige
Re: combobox
24.09.2002 10:06:48
Norbert
hallo clemens,

so geht das:
hier musst du allerdings einen doppelclick auf die zelle machen.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
With ActiveCell.Offset(1, 0).EntireRow.Insert
End With
End Sub


gruß norbert

Re: combobox
24.09.2002 10:08:46
Norbert
so geht das mit einem doppelclick:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
With ActiveCell.Offset(1, 0).EntireRow.Insert
End With
End Sub

so wenn du etwas geändert hast
Private Sub Worksheet_Change(ByVal Target As Range)
With ActiveCell.Offset(1, 0).EntireRow.Insert
End With

End Sub

gruß norbert

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige