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

Code von CommanButton in Schaltfläche

Code von CommanButton in Schaltfläche
05.01.2006 12:28:26
CommanButton
Hallo Zusammen,
ich habe einen funktionierenden Code, der
- nicht von mir ist
- Dubletten sucht und markiert
- "leider" einem CommandButton zugeordnet ist.
Ich möchte, dass
- der Code in ein Modul kommt, damit er einer Schaltfläche in meiner
Personl.xls zugewiesen werden kann
- und keinen Tabellenreiter "Doppelte" mehr anlegt.
Ist m. E. relativ einfach, wenn man weis, wie's geht, aber ich kann's nicht :(
Anbei die Datei (https://www.herber.de/bbs/user/29744.xls)
Danke im voraus und Grüße
Erwin

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code von CommanButton in Schaltfläche
05.01.2006 13:13:05
CommanButton
Hallo Erwin,
die Datei wird nicht gefunden.
Kopier den Code und poste Ihn hier her.
Grüße
Hoffi
AW: Code von CommanButton in Schaltfläche
05.01.2006 13:44:40
CommanButton
Hallo,
ich habe die Datei nochmals hochgeladen (https://www.herber.de/bbs/user/29747.xls
) und auch gefunden.
Ansonsten hier der Code:
Option Explicit

Private Sub Label13_Click()
End Sub


Private Sub Label3_Click()
End Sub


Private Sub CommandButton1_Click()
Range("B10").Select
Unload Me
Doppelte_Farbe.Hide
End Sub


Private Sub UserForm_Initialize()
Dim AM As Object
Dim r As Integer, s As Integer, t As Integer
For Each AM In Application.Workbooks
With ComboBox1
.AddItem AM.Name
End With
Next AM
End Sub


Private Sub ComboBox1_Change()
Dim Blatt As Object
Workbooks(ComboBox1.Text).Activate
For Each Blatt In ActiveWorkbook.Sheets
With ComboBox9
.AddItem Blatt.Name
End With
Next Blatt
End Sub

'

Private Sub ComboBox9_Change()

Private Sub ComboBox9_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Worksheets(ComboBox9.Text).Activate
End Sub


Private Sub CommandButton2_Click()
Dim iRowA As Integer, iRowB As Integer
Dim iCol As Integer, iColor As Integer
Dim iRowC As Integer
Dim bln As Boolean, blnColor As Boolean
Dim myName1 As String, myDatei As String
Dim myName2 As String, Tb(1 To 15) As Worksheet, gefunden As Boolean
Const ic1 As Integer = 35
myDatei = ComboBox1.Text
myName1 = ComboBox9.Text  'InputBox("Ausgangstabelle auswählen:")
For Each Tb(3) In ThisWorkbook.Worksheets
If Tb(3).Name = "Doppelte" Then gefunden = True: Exit For
Next
If Not gefunden Then
Worksheets.Add.Move after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = "Doppelte"
End If
Set Tb(3) = ThisWorkbook.Worksheets("Doppelte")
With Tb(3)
.Cells.Clear
.Cells(1, 1) = "Doppelte Daten aus Tabelle " & myName1
End With
Sheets(myName1).Activate
iRowA = 2
'   iColor = 2
iColor = 3
Do Until IsEmpty(Cells(iRowA, 1))
iRowB = iRowA + 1
Do Until IsEmpty(Cells(iRowB, 1))
For iCol = 1 To 50
If Cells(iRowA, iCol) <> Cells(iRowB, iCol) Then
bln = True
Exit For
End If
Next iCol
If bln = False Then
'            If blnColor = False Then
'               iColor = iColor + 1
'            End If
If Cells(iRowB, 1).Interior.ColorIndex = _
xlColorIndexNone Then
If Cells(iRowA, 1).Interior.ColorIndex = _
xlColorIndexNone Then
With Worksheets("Doppelte")
iRowC = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Range(.Cells(iRowC, 1), .Cells(iRowC, 50)).Value = _
Range(Cells(iRowB, 1), Cells(iRowB, 50)).Value
End With
End If
Range(Cells(iRowA, 1), Cells(iRowA, 50)). _
Interior.ColorIndex = ic1
Range(Cells(iRowB, 1), Cells(iRowB, 50)). _
Interior.ColorIndex = iColor
blnColor = True
End If
End If
iRowB = iRowB + 1
bln = False
Loop
blnColor = False
iRowA = iRowA + 1
Loop
Sheets("Doppelte").Activate
Range("G1").Select
Unload Me
Doppelte_Farbe.Hide
Sheets(myName1).Activate
End Sub

Anzeige
AW: Code von CommanButton in Schaltfläche
05.01.2006 13:51:30
CommanButton
Hallo Erwin,
habs doch geschafft.
Als erstes, Du möchtest das dieses Makro immer beim starten von Excel zur Verfügung steht? OK, dann erstelle Dir als erstes eine Userform (oder exportiere die vorhandene und importiere sie in dein eigenes Projekt PERSONL.XLS) Die Userform muss enthalten:
ComboBox1, ComboBox2, CommandButton1, CommandButton2 und zwei Labels. Dort fügst Du dann folgenden Code ein:
Option Explicit

Private Sub CommandButton1_Click()
Range("B10").Select
Unload Me
Doppelte_Farbe.Hide
End Sub


Private Sub UserForm_Initialize()
Dim AM As Object
Dim r As Integer, s As Integer, t As Integer
For Each AM In Application.Workbooks
With ComboBox1
.AddItem AM.Name
End With
Next AM
End Sub


Private Sub ComboBox1_Change()
Dim Blatt As Object
Workbooks(ComboBox1.Text).Activate
For Each Blatt In ActiveWorkbook.Sheets
With ComboBox2
.AddItem Blatt.Name
End With
Next Blatt
End Sub

'

Private Sub ComboBox2_Change()

Private Sub ComboBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Worksheets(ComboBox2.Text).Activate
End Sub


Private Sub CommandButton2_Click()
Dim iRowA As Integer, iRowB As Integer
Dim iCol As Integer, iColor As Integer
Dim iRowC As Integer
Dim bln As Boolean, blnColor As Boolean
Dim myName1 As String, myDatei As String
Dim myName2 As String, Tb(1 To 15) As Worksheet, gefunden As Boolean
Const ic1 As Integer = 35
myDatei = ComboBox1.Text
myName1 = ComboBox2.Text  'InputBox("Ausgangstabelle auswählen:")
For Each Tb(3) In ThisWorkbook.Worksheets
If Tb(3).Name = "Doppelte" Then gefunden = True: Exit For
Next
Set Tb(3) = ThisWorkbook.Worksheets("Doppelte")
With Tb(3)
.Cells.Clear
.Cells(1, 1) = "Doppelte Daten aus Tabelle " & myName1
End With
Sheets(myName1).Activate
iRowA = 2
'   iColor = 2
iColor = 3
Do Until IsEmpty(Cells(iRowA, 1))
iRowB = iRowA + 1
Do Until IsEmpty(Cells(iRowB, 1))
For iCol = 1 To 50
If Cells(iRowA, iCol) <> Cells(iRowB, iCol) Then
bln = True
Exit For
End If
Next iCol
If bln = False Then
'            If blnColor = False Then
'               iColor = iColor + 1
'            End If
If Cells(iRowB, 1).Interior.ColorIndex = _
xlColorIndexNone Then
If Cells(iRowA, 1).Interior.ColorIndex = _
xlColorIndexNone Then
With Worksheets("Doppelte")
iRowC = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Range(.Cells(iRowC, 1), .Cells(iRowC, 50)).Value = _
Range(Cells(iRowB, 1), Cells(iRowB, 50)).Value
End With
End If
Range(Cells(iRowA, 1), Cells(iRowA, 50)). _
Interior.ColorIndex = ic1
Range(Cells(iRowB, 1), Cells(iRowB, 50)). _
Interior.ColorIndex = iColor
blnColor = True
End If
End If
iRowB = iRowB + 1
bln = False
Loop
blnColor = False
iRowA = iRowA + 1
Loop
Sheets("Doppelte").Activate
Range("G1").Select
Unload Me
Doppelte_Farbe.Hide
Sheets(myName1).Activate
End Sub

Dann fügst Du ein Modul hinzu und schreibst folgendes rein:
Option Explicit
Sub Farbe()
Doppelte_Farbe.Show
End Sub

Nun kannst Du deiner Schaltfläche das Makro Farbe hinzufügen.
Grüße
Hoffi
P.S. Bitte Rückmeldung
Anzeige
klappt mit Anpassungen
05.01.2006 14:57:53
Erwin
Hallo Hoffi,
danke für die Hilfe, es klappt - hat etwas länger gedauert, weil meine VBA Kenntnisse nicht gut sind.
Jetzt muss ich nur noch versuchen zu unterbinden, dass kein neues Tabellenblatt mehr angelegt wird.
Grüße - Erwin
AW: klappt mit Anpassungen
05.01.2006 15:27:25
Hoffi
Halo Erwin,
mit dem Code, den ich gepostet habe, dürfte er kein neues Tabellenblatt mehr anlegen.
Hast Du die Userform importiert? oder den Code hier kopiert?
Grüße
Hoffi
AW: klappt mit Anpassungen
05.01.2006 16:01:36
Erwin
Hallo Hoffi,
ich geb's auf, weils nicht klappt; habe zwar alles so gemacht wie beschrieben, aber irgendwie kenne ich mich nicht so richtig aus.
Jetzt kommt immer der Fehler bei .......
Next
If Not gefunden Then
Worksheets.Add.Move after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = "Doppelte"
End If
Set Tb(3) = ThisWorkbook.Worksheets("Doppelte")
With Tb(3)
..........dann kommentiere ich immer wieder aus, bis er nicht mehr meckert .......
Was verwunderlich ist, dass der link auf die hochgeladene Datei nicht funktioniert, aber wenn ich diesen rauskopiere und in den Browser direkt eingebe (https://www.herber.de/bbs/user/29744.xls), die Exceldatei geöffnet wird.
Vielleicht kannst du das noch mal probieren und die Datei dann öffnen.
Danke - Erwin
Anzeige
AW: klappt mit Anpassungen
06.01.2006 09:05:10
Hoffi
Hallo Erwin,
das man die Datei nicht runterladen kann, liegt daran, das Du sie in Klammern gesetzt hast.
Hab die Datei nun geändert, kann Sie Dir aber nicht hochladen, weil unsere Firewall das nicht mit macht.
Wenn Du möchtest, schicke ich Sie Dir per E-mail, das geht. Gib mir Deine E-Mail addresse, dann schick ich Dir die Datei.
Ich hab die Datei bei mir getestet und da macht er alles ohne Probleme und ohne neu erstellen einer Tabelle.
Grüße
Hoffi
AW: klappt mit Anpassungen
08.01.2006 00:36:05
Erwin
Hallo Hoffi,
das mit der Klammer wusste ich nicht.
Meine Mailadresse: erwin.geer@gmx.de
Nochmals danke für die Hilfe
Erwin
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige