Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Excel - Zeichen suchen und Text bis dahin kopieren

Mitglied: Paescu

Paescu (Level 1) - Jetzt verbinden

14.08.2006, aktualisiert 28.08.2006, 48347 Aufrufe, 19 Kommentare

Hallo zusammen

wieder einmal eine weitere Frage von mir
Diesmal geht es um Excel und VBA. Ich habe einen Auftrag, bei dem ich unter Anderem in einer Zelle ein Raute-Zeichen oder einen Abstand (je nachdem) suchen muss, den Text vor diesem Zeichen in ein Array und den Text danach in ein anderes Array speichern muss.
Nur habe ich keine Ahnung, wie das geht und irgendwie muss es ja gehen... Wäre sehr froh über eine baldige Antwort...
Mitglied: 8644
14.08.2006 um 14:47 Uhr
Hi,

A1: 123asc#as232

Für den Text vor der Raute:
=LINKS(A1;FINDEN("#";A1)-1)

Für den Text nach der Raute:
=RECHTS(A1;LÄNGE(A1)-FINDEN("#";A1))

Psycho
Bitte warten ..
Mitglied: Paescu
14.08.2006 um 15:29 Uhr
Danke für deine Antwort. Es funktioniert zwar, aber habe mich ein bisschen unklar ausgedrückt... Ich sollte dies per VBA tun können, nicht direkt mit ner Formel... Makro aufzeichnen bringt nichts...

Pascal
Bitte warten ..
Mitglied: 8644
14.08.2006 um 15:31 Uhr
Hi,

ja, das mit dem unklar Ausdrücken ist ein Problem
Was soll denn am Ende mit den entstandenen Werten passieren?

Psycho
Bitte warten ..
Mitglied: Paescu
14.08.2006 um 15:34 Uhr
Ich möchte diese Werte in ein Array speichern und danach in einem neuen Dokument einfügen...
Bitte warten ..
Mitglied: 8644
14.08.2006 um 15:47 Uhr
Erstmal zur Erklärung: Eine Zeichenkette (String) ist bereits ein Array, welches aus einzelnen Zeichen besteht, welche über ihren Index angesprochen werden können:
Bsp.
Mein_Feld = "Psycho Dad"
Ein_Zeichen = Mein_Feld(3)

Ein_Zeichen ==> "y"

Und nun zu dir: Ich bin mir sicher, dir helfen zu können. Dazu sind dann aber doch genauere Angaben nötig. In welcher (welchen) Zellen stehen die zu analysierenden Daten?
In was für ein Dokument sollen die "Zieldaten" gespeichert werden. Wenn es sich hier auch um eine Excel-Tabelle handelt, geht es auch ohne Makro.
Beschreib dein Vorhaben mal etwas genauer!

Psycho

P.S. Klingt ja ganz schön Oberlehrermäßig -> Sorry 8-)
Bitte warten ..
Mitglied: Paescu
14.08.2006 um 16:18 Uhr
Aaalso mein Auftrag etwas genauer: Ich habe eine ziemlich umfangreiche Tabelle von einer Mitarbeiterin bekommen. Diese will nun, dass ich Daten aus vier verschiedenen Registern in ein neu erstelltes Dokument schreibe. Im ersten Register, das bearbeitet werden muss, ist in Zelle A2 die Anzahl (geht um Bestellungen). Nebenan in der Zelle B2 ist dann eine Part-Nummer. Diese besteht aus ein paar Zeichen, einem Raute-Zeichen oder einem Leerschlag und dann wieder ein paar Zeichen, also z.B. so: U5466S#4NK
Nun muss ich alle "vollen" Zellen in diesem Register durchgehen (mit "alle" meine ich alle Zellen in den Spalten A und B) und diese will ich in ein Array speichern. Mit der Anzahl ist das kein Problem, geht super. Jedoch möchte die Mitarbeiterin, dass die Part-Nummer in Spalte B in eine Artikel-Nummer und eine Option-Nummer aufgeteilt wird. Der Teil vor dem Raute-Zeichen soll Artikel-Nummer sein, der Teil danach Option-Nummer. Die Nummern sind immer unterschiedlich lang, kann also nicht immer die gleiche Anzahl stellen bis zum Raute-Zeichen nehmen... Ich möchte dann von jedem Artikel die Artikel-Nummer und die Option-Nummer in das Array speichern. Wenn alles durch ist, muss das nächste benötigte Register angewählt werden und dasselbe Spiel nochmal, einfach in ein anderes Array. Wenn dann alle vier Register durch sind, wird ein neues Dokument erzeugt, wo dann die Anzahl, Artikel-Nummer und Option-Nummer eingetragen wird...

Ui, jetzt habe ich aber genug geschrieben :-P Hoffe jetzt genügend Auskunft gegeben zu haben und wenn nicht, dann einfach nachfrage

Gruss Pascal

edit: Habe noch vergessen zu sagen, dass das Raute-Zeichen oder der Leerschlag wegfallen kann.
Bitte warten ..
Mitglied: 8644
14.08.2006 um 19:43 Uhr
Hi,

also wenn das so ist, würde ich folgende Variante wählen:

Du benutzt die beiden Formeln und kopierst sie nach unten.
Dann markierst du die Ergebnisse und kopierst sie in die Zwischenablage.
Nun öffnest du das neue Dokument und gehst über das Menü Bearbeiten -> Inhalte einfügen -> Werte.
Das geht meiner Meinung nach am schnellsten.

Psycho
Bitte warten ..
Mitglied: Paescu
15.08.2006 um 08:21 Uhr
Das wäre natürlich schon ne Variante, aber kann ich dann einfach vom einen zum anderen Dokument wechseln? Denn wenn ich das so mache, muss ich ja nach jedem Register die Daten in das neue Dokument schreiben... Geht das so eifach?

Pascal
Bitte warten ..
Mitglied: 8644
15.08.2006 um 08:27 Uhr
Moin,

klar geht das. Du öffnest beide Dokumente und wechselst über das Menü Fenster hin und her.

Psycho
Bitte warten ..
Mitglied: Paescu
15.08.2006 um 08:47 Uhr
Ich meine alles automatisch... Es soll am Ende eine Arbeitserleichterung für die Mitarbeiterin werden...
Bitte warten ..
Mitglied: 8644
15.08.2006 um 09:00 Uhr
Moin,

theoretisch geht alles! Aber was du jetzt möchtest, geht schon weit über das hinaus, was ich unter einen Tipp im Forum geben verstehe! Sollte ich etwas Zeit und meine soziale Ader finden, lässt sich da vielleicht was machen.

Psycho
Bitte warten ..
Mitglied: Paescu
15.08.2006 um 09:23 Uhr
Nun, da kann man nichts machen
Möchte mich ausserdem noch bedanken, dass du mir diese Tipps überhaupt gegeben hast.

Des Weiteren komme ich der Lösung immer näher, hoffe, ich habe es bald einmal...

Pascal
Bitte warten ..
Mitglied: Paescu
21.08.2006 um 10:32 Uhr
So, habe es geschafft, dass es getrennt wird, nun muss ich das nur noch automatisieren und alles in ein Array und nicht in ne Zelle schreiben...

Meine Lösung sieht so aus:
01.
  Do Until Cells(1, 1).Characters(i, 1).Text = "#" 
02.
    Cells(2, 1) = CStr(Cells(2, 1)) + Cells(1, 1).Characters(i, 1).Text 
03.
    i = i + 1 
04.
    links = links + 1 
05.
  Loop 
06.
   
07.
  For links = links To Cells(1, 1).Characters.Count 
08.
    Cells(3, 1) = CStr(Cells(3, 1)) + Cells(1, 1).Characters(links, 1).Text 
09.
  Next
Hat vielleicht jemand noch Verbessernungsvorschläge oder so etwas?
Bitte warten ..
Mitglied: Biber
21.08.2006 um 12:09 Uhr
Moin Päscu,
VB ist ja nicht gerade mein Fachgebiet,...
Aber ein erstes Zusammendampfen Deines Ansatzes ergibt diesen Basis-Schnipsel:
01.
Sub SubstringGeraffel() 
02.
Const ROWMAX = 5000 
03.
Dim i, nRow As Long 
04.
 
05.
For nRow = 1 To ROWMAX 
06.
  i = InStr(1, Cells(nRow, 1), "#") 
07.
  If i > 0 Then 
08.
     Cells(nRow, 2) = Mid(Cells(nRow, 1), 1, i - 1) 
09.
     Cells(nRow, 3) = Mid(Cells(nRow, 1), i + 1) 
10.
   End If 
11.
Next 
12.
End Sub
Wenn also in der ersten Spalte diese Strings a la "U5466S#4NK" stehen, werden in die zwei Spalten rechts daneben "U5466S" und "4NK" geschrieben.
Und zwar ROWMAX = 5000x.

Hope that Helps
Biber
Bitte warten ..
Mitglied: Paescu
23.08.2006 um 09:05 Uhr
danke, auch nicht n schlechter Ansatz... *-) Es funktioniert nun mit meinem Ansatz auch, aber irgendwie finde ich, deiner sieht besser aus und ist eigentlich auch nich so kompliziert... mal schauen, was ich noch machen werde.

Pascal
Bitte warten ..
Mitglied: miniversum
24.08.2006 um 13:30 Uhr
Nur als Tip:
Schau dir mal in der Hilfe von vba die Split-Funktion an. Ist das das was Du suchst?

miniversum
Bitte warten ..
Mitglied: Paescu
28.08.2006 um 10:04 Uhr
@miniversum

Funktioniert die Split-Funktion auch mit zweidimensionalen Arrays? Habe nur was mit eindimensionalen Arrays gefunden in der Hilfe...

Pascal
Bitte warten ..
Mitglied: miniversum
28.08.2006 um 19:30 Uhr
Die Split Funktion liefert die doch die zwei Zeichenfolgen in Variablen. Wo die dann "hingeschoben" werden ist ja egal.

miniversum
Bitte warten ..
Mitglied: Paescu
28.08.2006 um 19:40 Uhr
Hmm... *-) hat was, dann muss ich einfach noch diese Variabeln dem Array zuweisen... So weit habe ich gar noch nicht gedacht... Habe meine alte, 15-zeilige Version beibehalten
Ich habe einfach probiert, diese zwei Strings direkt in das zweidimensionale Array zu speichern, aber mit der Split-Funktion ist da nichts zu machen... Werde es mit Variabeln probieren, morgen dann
Danke noch für den Tipp

Pascal
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Excel (2016): Enthaltenen Text suchen
gelöst Frage von ralfkauskMicrosoft Office3 Kommentare

Hallo zusammen Ich brauche mal Hilfe (bei Excel 2016) Ich habe zwei Tabellen In beiden Tabellen gibt es die ...

Batch & Shell

(Batch) festgelegte Zeichen vor und nach Text einfügen

gelöst Frage von unauthorized-userBatch & Shell2 Kommentare

Hallo Community, ich stehe gerade vor einem (wahrscheinlich sehr banalem) Problem und benötige eure Hilfe. Ausgangssituation: Ich habe mehrere ...

Microsoft Office

Excel: Text in Spaltenbug?

gelöst Frage von micmacMicrosoft Office15 Kommentare

Guten Tag liebe Leute, Ich bin wieder mal am Excel-verzweifeln, ich hoff, Ihr könnt mir helfen. Es handelt sich ...

Microsoft Office

Excel 2013 bei bestimmten TEXT text ausblenden

gelöst Frage von Just4fun1990Microsoft Office5 Kommentare

Hallo Administrator.de User, ich möchte in Excel 2013 Zellen so formatieren, dass diese dann bei einem bestimmten Text den ...

Neue Wissensbeiträge
Datenschutz

Die Datenkrake Google verlängert ihr Arme mal wieder ein wenig, automatische Anmeldung

Tipp von magicteddy vor 8 StundenDatenschutz

Benutzer mit einem Google Account und gespeicherten Zugangsdaten werden von chrome 69 automatisch bei Google angemeldet, natürlich alles zum ...

Verschlüsselung & Zertifikate
Meine Wissenssammlung zu Bitlocker
Erfahrungsbericht von DerWoWusste vor 1 TagVerschlüsselung & Zertifikate3 Kommentare

Die Motivation für diesen Beitrag waren die vielen Posts rund um dieses Thema, die deutlich machen, wie viele Einzelaspekte ...

E-Mail
Email-Apps und Verhalten bei Pop3
Erfahrungsbericht von kfranzk vor 3 TagenE-Mail11 Kommentare

Hallo Freunde, da mir mein diesbezüglicher Faden als gelöst markiert wurde, muss ich hier neu aufsetzen. Ich arbeite bewusst ...

Hyper-V

Optimiertes Ubuntu per Microsoft Hyper-V-Schnellerstellung verfügbar

Anleitung von Frank vor 3 TagenHyper-V1 Kommentar

Für Microsofts Virtualisierungssoftware Hyper-V ist ab sofort auch ein optimiertes Ubuntu 18.04.1 LTS verfügbar. In der "Hyper-V-Schnellerstellung" App, die ...

Heiß diskutierte Inhalte
Datenschutz
Gilt ein Ransomware-Befall als Datenpanne nach DSGVO?
Frage von MOS6581Datenschutz22 Kommentare

Moin Kollegen, wenn sich jemand Ransomware einfängt und dadurch bspw. Kundendaten verschlüsselt werden; gilt dies dann als meldepflichtige Datenpanne ...

Hardware
Sophos SG135 - Routing
gelöst Frage von Xaero1982Hardware22 Kommentare

Moin Zusammen, ich ersetze gerade nen alten Cisco DualWAN Router durch eine SG 135. Ich muss bestimmte Ziele über ...

E-Mail
Welche ist die beste E-Mail Groupware für die Zukunft?
Frage von ITCrowdSupporterE-Mail18 Kommentare

Guten Tag allerseits :) Ich möchte mich mit einer Frage heute mal an die Schwarmintelligenz wenden. Aktuell befasse ich ...

Netzwerke
Hilfe bei der Planung meines Heimnetzwerks
Frage von DHD082Netzwerke15 Kommentare

Hallo zusammen, wir bauen gerade ein Einfamilienhaus, welches ich mit einem Heimnetzwerk ausstatten möchte. Da ich zwar auch in ...