Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
540to544
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
540to544
540to544
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Warum Abbruch ?

Warum Abbruch ?
03.01.2005 16:03:59
Norbert
Hallo Freaks,
hat jemand eine Idee, warum das Makro ohne jeglichen Hinweis nach der Zeile "advancedFilter" beendet wird ?
Gruß Norbert

Sub erstellt_Spalten_ohne_Duplikate()
irow = Range("datenbank").Rows.Count
'weist nur den (ohne Duplikate) zu kopierenden Spalten einen Namen zu
For Each zelle In Range("datenbank").Rows(1).Columns
Select Case zelle.Text
Case Is = "FACH", "NAME", "PLZ", "ORT", "CODE"
Range(zelle, zelle.End(xlDown)).CreateNames True, False, False, False
End Select
Next
For i = 1 To 4
Select Case i
Case Is = 1
t = "plz"
Case Is = 2
t = "Ort"
Case Is = 3
t = "Code"
Case Is = 4
t = "fach"
End Select
icol = Range("" & t & "").Column 'Spaltenindex der zu kopierenden Spalte, Zeilen bereits oben
Set rngkopbereich = Range(Cells(1, icol), Cells(irow, icol))
Set rngkopziel = Cells(1, Sheets("Basis").UsedRange.Columns.Count + 1)
rngkopbereich.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=rngkopziel, Unique:=True
MsgBox "ok"
With rngkopziel.EntireColumn
.Sort Key1:=rngkopziel, Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End With
rngkopziel = "" & t & "_1" 'Spalten = Bereichsname
With Range(rngkopziel, rngkopziel.Cells.End(xlDown))
.EntireColumn.AutoFit
.CreateNames True, False, False, False
End With
Next
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Warum Abbruch ?
Nike
Hi,
weil du u.U. auf verschiedenen Blaettern unterwegs bist und dann bei der
Definition der Ranges die Blatter mit angeben musst...
dim wks1 as worksheet
dim wks2 as worksheet
set wks1 = worksheets(1)
set wks1 = worksheets(2)
Set rngkopbereich = wks1.Range(wks1.Cells(1, icol), wks1.Cells(irow, icol))
Set rngkopziel = wks2.Cells(1, wks1.UsedRange.Columns.Count + 1)
oder so aehnlich, nur zur Veranschaulichung...
Bye
Nike
AW: Warum Abbruch ?
N.
Hallo Nike,
eigentlich spielt sich alles auf einen Arbeitsblatt ab. Ich setze die 4 Spalten PLZ, ORT, CODE und FACH nochmal rechts an, wobei ich in den angefügten Spalten (weil ich die in einer Userform verwende) keine Duplikate haben will.
Der gepostete Code ist etwas unsauber, weil ich schon hin und her experimentiert habe, passiert aber alles auf dem sheet BASIS.
Gruß und alles Gute zum neuen Jahr
Norbert
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige