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

Hilfe

Hilfe
27.12.2004 01:28:19
Kai
Hi Leute,
hänge jetzt schon sher sehr lang an diesem Problem aber finde keine Lösung.
Brauche dringend eure Hilfe!!!
Habe meine Frage in der Datei formuliert.
Kann mir da jemand helfen?
https://www.herber.de/bbs/user/15316.xls
Grus
Kai

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hilfe
27.12.2004 02:56:57
Franc
Habe zwar deine Formel nicht verstanden aber wenn du die Namen von P nach R ohne Leerzellen und ohne Doppel haben möchtest dann nimm das Makro. (hab selbst nicht soviel Ahung von VBA und mann kann das sicher auch noch anders schreiben)

Sub p_zu_r()
p_zu_r:
Set p_name = [P1].End(xlDown)
If p_name = leer Then GoTo ende
With ActiveSheet.[R2:R2000]
Set doppel = .Find(p_name, LookIn:=xlValues, LookAt:=xlWhole)
If Not doppel Is Nothing Then
p_name.Clear
GoTo p_zu_r
End If
End With
p_name.Cut
[R2000].End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
GoTo p_zu_r
ende:
[R1].Select
End Sub

Anzeige
AW: Hilfe
27.12.2004 03:03:24
Franc
arghh vergessen dazuzuschreiben
Es sollte nichts in der Spalte R stehen, weil er von unten gesehen nach der ersten belegten Zelle sucht und dann den Namen eine Zelle darunter einfügt. (Passt deshalb auch ganz gut, weil der 1. Eintrag in R2 stehen soll ;-) )
Sollte zum Beispiel schon in R2 und R5 etwas drinstehen dann würde das Makro den nächsten Eintrag in R6 einfügen und nicht in R3.
Wenn es einmal nicht bei R2 anfangen sollte die Namen einzutragen dann müßte man das Makro etwas umschreiben.
Was hast du mit der Tabelle gemacht?
27.12.2004 03:59:45
Franc
Aktuell funktioniert das nicht, weil keine Ahnung warum. (außer der Fehler tritt nur bei mir auf)
Irgendwas ist mit der Spalte P nicht so wie es sein sollte.
Wenn ich eine Zelle in P markiere und strg + a drücke dann markiert er nur den Bereich von P2 bis P1121.
Damit das Makro funktioniert, führe folgendes aus.
1. Öffne das Notepad
2. markiere den Zellbereich P2:P2000
3. "Rechtsklick" kopieren (oder strg + c)
4. zum Notepad wechseln und "Rechtsklick" einfügen (oder strg + v)
5. zu excel zurück (bereich sollte noch markiert sein) auf eine Zelle der Markierung "Rechtsklick" und "Inhalte löschen" wählen.
6. zum Notepad wechseln und mit strg + a alles markieren und mit strg + c kopieren
7. in Excel Zelle P1 anklicken und strg + v drücken.
Jetzt kannst du das Makro starten.
Anzeige
und vergiss nicht ...
27.12.2004 04:08:45
Franc
... die Spalten O, Q und R zu markieren und dann auch auf "Inhalte löschen" zu klicken.
Es ist auch ein schreibfehler im vorhergehenden Teil. Ich meinte P1 anstatt P2.
Mich würde mal interessieren was das verursacht.
PS: Schade das es keine Editierfunktion gibt. Mir fällt das wichtigste erst ein, wenn ich auf "absenden" geklickt habe. :-)
sry nochmal für 4 Einträge zum selben Fehler. (Der Fehler ist mir aber auch erst jetzt aufgefallen. Hatte das Makro in einer leeren Mappe getestet und erst vorhin in deiner)
Brauche eine Lösung ohne VBA
27.12.2004 12:53:00
kai
Hi,
ich brauche leider eine Lösung ohne VBA.
Wer kennt sich da gut aus?
Gruss Kai
Anzeige
AW: Brauche eine Lösung ohne VBA
27.12.2004 13:39:54
Franc
Warum kein VBA?
Deine Version braucht ewig und 3 Tage bis man mit der Mappe arbeiten kann.
AW: Brauche eine Lösung ohne VBA
27.12.2004 16:13:55
Kai
Hi Franc,
na gut aber ich kenn mich mit VBA nicht so toll aus und da du mir mehrere Antworten zukommen lassen hast ist so die Lösung schwer nachzuvolziehen. Kannst du mir nochmal beschreiben wie ich vorgehen muss wenn ich die Tabelle geöffnet habe um da Makro laufen zu lassen?

Grüuss Kai
Hi Franc
27.12.2004 16:16:14
Kai
Text:
Hi Franc,
na gut aber ich kenn mich mit VBA nicht so toll aus und da du mir mehrere Antworten zukommen lassen hast ist so die Lösung schwer nachzuvolziehen. Kannst du mir nochmal beschreiben wie ich vorgehen muss wenn ich die Tabelle geöffnet habe um das Makro laufen zu lassen?
Grüuss Kai
Anzeige
AW: Hi Franc
27.12.2004 22:44:21
Franc
du kannst auch die Tabelle posten und ich ändere das ab.
oder
1. öffne das Notepad
2. markiere den Zellbereich P1:P2000 (das kannst ja so oben links im Namensfeld eintragen) - vorrausgesetzt die gesamten Daten stehen im angegebenen Bereich
3. strg + c
4. zum Notepad wechseln und "Rechtsklick" einfügen (oder strg + v)
Das ist deshalb notwendig, damit der Inhalt erhalten bleibt aber sämtliche Formatierungen verloren gehen.
5. zu excel zurück und die Spalten O - R markieren und rechtsklick "Inhalte löschen" wählen
6. zum Notepad wechseln und mit strg + a alles markieren und mit strg + c kopieren
7. in Excel Zelle P1 anklicken und strg + v drücken.
fertig
jetzt das makro starten
(Ich habe nochmal Erklärungen ins Makro geschrieben)

Sub p_zu_r()
p_zu_r:
Set p_name = [P1].End(xlDown)
' p_name (der name selbst ist variabel) weise ich hiermit
' die 1. belegte Zelle in Spalte P zu.
If p_name = leer Then GoTo ende
' wenn nur noch leere Zellen in der Spalte P stehen,
' wird das Makro beendet.
With ActiveSheet.[R2:R65536]
' hiermit prüfe das Makro ob es den Namen der aktuell in
' Spalte P gewählt ist, schon in Spalte R drinsteht
Set doppel = .Find(p_name, LookIn:=xlValues, LookAt:=xlWhole)
' jetzt suchen wir ob der Name schon vorhanden ist (p_name als Variable)
' ganz wichtig ist "LookAt:=xlWhole", weil er den gesamten Inhalt vergleicht
' und nicht nur einen Teil
If Not doppel Is Nothing Then
' Wenn der Name nicht gefunden wird dann ist nichts (wörtlich übersetzt)
p_name.Clear
GoTo p_zu_r
' Wenn der Name schon vorkommt, dann wird die aktuelle Auswahl in Spalte P
' gelöscht und das makro beginnt wieder von vorn (durch das goto)
End If
End With
p_name.Cut
' falls der Eintrag noch nicht vorkam, wird der aktuelle Eintrag
' aus Spalte P ausgeschnitten
[R65536].End(xlUp).Offset(1, 0).Select
' Jetzt wird die 1. belegte Zelle von unten (zelle R65536) aus gesehen in
' Spalte R gesucht und mit Offset 1,0 die Zelle darunter markiert
' deshalb sollte auch in Spalte R idealerweise noch nichts stehen
ActiveSheet.Paste
GoTo p_zu_r
'der name wird eingefügt und das Makro fängt von vorn an
ende:
[R1].Select
End Sub

Anzeige
AW: Hi Franc
28.12.2004 17:54:31
Kai
Hi Franc,
was meist du mit notepad bitte? ist das in excel integriert?
Gruss
kai
AW: Hi Franc
28.12.2004 22:35:40
Klaus-Dieter
Hallo Kai,
bei dieser langen Tabelle würde ich nicht mit Zellformeln arbeiten. Habe dir mal eine VBA Lösung erstellt, die sehr schnell ist.
https://www.herber.de/bbs/user/15403.zip
Gruß Klaus-Dieter

Hi Kalus Dieter
Kai
Konnte leider deine datei nicht nutzen nachdem ich es extrahiert habe. Bekome eine Fehlermeldung voran kann das liegen. Kannst du sie mir eventuell nochmal zukommen lassen?
Danke
gruss kai
Anzeige
AW: Hi Kalus Dieter
29.12.2004 11:36:25
Klaus-Dieter
Hallo Kai,
wenn du die Tabelle geöffnet bekommst, kannst du das alleine korrigieren. Rechtsklick auf die Schaltfläche, Makro zuweisen auswählen. In der Dialogbox die sich dann öffnet, auf uebertragen klicken. Dialogbox schließen, danach sollte es gehen.
Gruß Klaus-Dieter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige