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 Teile aus TXT-Datei in entsprechende Excel-Felder kopieren

Mitglied: grasihuepfer

grasihuepfer (Level 1) - Jetzt verbinden

24.06.2013 um 14:30 Uhr, 1724 Aufrufe, 8 Kommentare, 1 Danke

Hallo Experten,

ich würde gern folgendes realisieren:


Die Felder A1-A9 in einem Excel-Sheet wurden von mir schon angelegt und mit Seat 1-9 bezeichnet. Nun möchte ich gern automatisch aus dieser Textdatei

ad3116483bed0b0e53feb910309b9758 - Klicke auf das Bild, um es zu vergrößern

1. die Namen der Spieler den Seats zugewiesen bekommen. Und zwar in die Felder B1-B9.

2.Der Chipstand des jeweiligen Spielers in C1-C9 eingeordnet werden.

3. Die Zahl nach "Big Blind" in ein beliebiges Excel-Feld eingefügt werden, z. B. in D1

So soll das Ganze dann aussehen:

e2676214af0b379b67fcf9b6717cde2b - Klicke auf das Bild, um es zu vergrößern

Nun passiert noch folgendes: Die Textdatei verändert sich ständig, es werden immer wieder Daten hinzugefügt, und zwar genau nach dieser Struktur. Die Chipstände der Spieler ändern sich somit ständig. Ich möchte nun, am besten mit einer Art Klickbutton, den Kopiervorgang automatisch starten, so dass sich das Excelblatt stäändig mit der Textdatei wandelt und immer den aktuellsten Stand übernimmt.

Vielen Dank für Eure Rückmeldungen und Lösungen



Mitglied: colinardo
24.06.2013, aktualisiert um 20:20 Uhr
Hallo grasihuepfer. Willkommen im Forum!
auf die schnelle sollte das hier in Excel VBA funktionieren:
in Zeile 2 noch den Pfad zur Textdatei angeben...
01.
Sub Players() 
02.
    textfilepath = "C:\test.txt" 
03.
    Set fso = CreateObject("Scripting.Filesystemobject") 
04.
    Set txt = fso.OpenTextFile(textfilepath, 1) 
05.
    strText = txt.ReadAll() 
06.
    txt.Close 
07.
 
08.
    Set myRegExp = CreateObject("vbscript.regexp") 
09.
    myRegExp.IgnoreCase = True 
10.
    myRegExp.Global = True 
11.
    myRegExp.Pattern = "(Seat \d:) (.*) \(\$(\d+)" 
12.
    counter = 0 
13.
    'Seats regex 
14.
    Set myMatches = myRegExp.Execute(strText) 
15.
    For Each myMatch In myMatches 
16.
        If myMatch.SubMatches.Count >= 1 Then 
17.
            seat = myMatch.SubMatches(0) 
18.
            spieler = myMatch.SubMatches(1) 
19.
            chips = myMatch.SubMatches(2) 
20.
            Worksheets(1).Range("A1").Offset(counter, 0).Value = seat 
21.
            Worksheets(1).Range("A1").Offset(counter, 1).Value = spieler 
22.
            Worksheets(1).Range("A1").Offset(counter, 2).Value = chips 
23.
            counter = counter + 1 
24.
        End If 
25.
    Next 
26.
    'Big Blind RegEx 
27.
    myRegExp.Pattern = "big blind \$(\d+)" 
28.
    Set myMatches = myRegExp.Execute(strText) 
29.
    bigblind = "" 
30.
    If myMatches.Count >= 1 Then 
31.
        bigblind = myMatches(0).SubMatches(0) 
32.
    End If 
33.
    Worksheets(1).Range("D1").Value = bigblind 
34.
End Sub
Grüße Uwe
Bitte warten ..
Mitglied: grasihuepfer
28.06.2013 um 06:15 Uhr
Hallo Uwe!

Vielen Dank für Deine Hilfe.Leider passiert nichts beim Einfügen der VBA-Funktion. Die Zahlen sind übrigens alle rot. Ist das normal? Was muss ich in den Einstellungen beachten bzw. kann ich den Text überhaupt direkt so rein-kopieren?
Bitte warten ..
Mitglied: colinardo
28.06.2013 um 08:52 Uhr
och nö ..... dafür gibt es doch den Quelltext Button oben rechts des Code-Feldes um nur den reinen Code zu kopieren! Die Zahlen gehören natürlich nicht dazu !!!!!!
Bitte warten ..
Mitglied: grasihuepfer
29.07.2013, aktualisiert um 09:50 Uhr
Hi Uwe,

ich habe es jetzt ohne die Zahlen versucht. Leider ohne Erfolg. In der Excel passiert garnichts. Ich habe mal den VBAcode hier reinkopiert und hinter die Wörter, die sich farblich verändert haben, die entsprechende Farbe in Klammer dahinter geschrieben. Vielleicht findenst Du so noch die Lösung.

Danke und Gruß Jens


01.
Sub (blau)Players() 
02.
    textfilepath = "C:\Users\Jens\Desktop\Test\test small.txt" 
03.
    Set(blau) fso = CreateObject("Scripting.Filesystemobject") 
04.
    Set(blau) txt = fso.OpenTextFile(textfilepath, 1) 
05.
    strText = txt.ReadAll() 
06.
    txt.Close 
07.
 
08.
    Set myRegExp = CreateObject("vbscript.regexp") 
09.
    myRegExp.IgnoreCase = True(blau) 
10.
    myRegExp.Global = True(blau) 
11.
    myRegExp.Pattern = "(Seat \d:) (.*) \(\$(\d+)" 
12.
    counter = 0 
13.
    'Seats regex(grün) 
14.
    Set(blau) myMatches = myRegExp.Execute(strText) 
15.
    For Each(blau) myMatch In (blau)myMatches 
16.
        If (blau)myMatch.SubMatches.Count >= 1 Then(blau) 
17.
            seat = myMatch.SubMatches(0) 
18.
            spieler = myMatch.SubMatches(1) 
19.
            chips = myMatch.SubMatches(2) 
20.
            Worksheets(1).Range("A1").Offset(counter, 0).Value = seat 
21.
            Worksheets(1).Range("A1").Offset(counter, 1).Value = spieler 
22.
            Worksheets(1).Range("A1").Offset(counter, 2).Value = chips 
23.
            counter = counter + 1 
24.
        End If(blau) 
25.
    Next(blau) 
26.
    'Big Blind RegEx(grün) 
27.
    myRegExp.Pattern = "big blind \$(\d+)" 
28.
        Set myMatches = myRegExp.Execute(strText)  
29.
bigblind = ""  
30.
 If myMatches.Count >= 1 Then (blau) 
31.
bigblind = myMatches(0).SubMatches(0)  
32.
End If  
33.
Worksheets(1).Range("D1").Value = bigblind  
34.
End Sub 
35.
 
36.
 
37.
Private Sub (blau) Worksheet_Activate() 
38.
 
39.
End Sub (blau) 
40.
 
41.
Private Sub (blau)Worksheet_SelectionChange(ByVal(blau) Target As Range) 
42.
 
43.
End Sub(blau)

[Edit Biber]Pseudocode in Pseudocodetags gesetzt. [/Edit]
Bitte warten ..
Mitglied: colinardo
29.07.2013 um 07:56 Uhr
OK ich glaube du brauchst erst mal einen Grundkurs VBA dann wüsstest du nämlich wissen das die Blaufärbung kein Fehler ist sondern die Markierung der VBA Schlüsselwörter.
Und klar passiert erst mal nichts nachdem du den Code eingefügt hast, du must ihn ja erst explizit starten, entweder den Cursor in dem Makro platzieren und dann F5 drücken, oder einer Schaltfläche das Makro zuweisen.
Danach zurück in auf die erste Tabelle wechseln und sehen was extrahiert wurde.
P.S. die Lösung muss ich nicht erst finden, die steht schon in meinem ersten Kommentar in Form des Codes der einwandfrei funktioniert wenn man ihn denn richtig anzuwenden weiß. Ich möchte nicht unhöflich erscheinen aber das hier ist ein Administrator-Forum und kein "wie bastel ich mir mein Spiel"-Forum. D.h. es sollte hier Primär um Fragestellungen gehen die Problemstellungen eines "Administrators" angehen.

Gruß Uwe
p.s. bitte den Beitrag noch als gelöst markieren. Danke.
Bitte warten ..
Mitglied: grasihuepfer
29.07.2013 um 13:45 Uhr
Alles klar, danke Dir!

Ich bin doch Administrator...und zwar auf meinem PC

nein Spaß bei Seite, Ich hab mich noch nicht so intensiv mit VBA auseinandergesetzt und ehrlich gesagt etwas einfacher vorgestellt.

Hast Du für mich noch ne gute Infoseite zu dem Thema?

Danke
Bitte warten ..
Mitglied: colinardo
29.07.2013 um 13:53 Uhr
VBS Tutorials
http://www.google.de/search?q=vbs+tutorial

Die Objekte und Eigenschaften des jeweiligen Office Programms findest du dann in der Hilfe des VBA Editors.
Bitte warten ..
Mitglied: grasihuepfer
30.07.2013 um 12:35 Uhr
Alles Klar, prima!
Bitte warten ..
Ähnliche Inhalte
Microsoft Office

PDF Felder in Excel automatisch kopieren ?

gelöst Frage von mguenth83Microsoft Office1 Kommentar

Hi, ich habe an Euch Profis mal eine Frage da ich ein totale Newbie in Excel bin. Ich habe ...

Batch & Shell

Kopieren von Dateien aus .txt Liste

Frage von mippselBatch & Shell2 Kommentare

Hallo zusammen, ich habe folgendes Problem: Von den über 2000 pdf/docx Dateien würde ich mir gerne gewisse Dateien in ...

Microsoft Office

Txt Dateien in Excel importieren

gelöst Frage von SerbitarMicrosoft Office9 Kommentare

Hallo Kollegen, Ich möchte gerne mittels Excel eine Txt einlesen und die Infos in Spalten aufteilen. Die Spaltenheader sind ...

Microsoft Office

Excel Dateien durchsuchen und Teile extrahieren

gelöst Frage von BeranavanMicrosoft Office14 Kommentare

Hallo, ich habe eine große Menge an Excel Dateien, die gleichermaßen aufgebaut sind: In jeder Datei sind in Spalte ...

Neue Wissensbeiträge
Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 11 StundenHumor (lol)3 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 23 StundenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Sicherheit

Intel gibt neue Spectre V2-Microcode-Updates frei (20.02.2018)

Information von kgborn vor 1 TagSicherheit

Intel hat zum 20. Februar 2018 weitere Microcode-Updates für OEMs freigegeben, um Systeme mit neueren Prozessoren gegen die Spectre ...

Microsoft
ARD-Doku - Das Microsoft Dilemma
Tipp von Knorkator vor 1 TagMicrosoft3 Kommentare

Hallo zusammen, vor einigen Tagen lief in der ARD u.a. Reportage. Das Youtube Video dazu dürfte länger verfügbar sein. ...

Heiß diskutierte Inhalte
Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server45 Kommentare

Guten Tag, ich habe bei einem Kunden ein Problem mit den AD DS. Umgebung ist folgende: Windows Server 2016 ...

Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing27 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware16 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...

Switche und Hubs
Cisco SG350X-48 AdminIP in anderes VLAN
Frage von lcer00Switche und Hubs14 Kommentare

Hallo zusammen, ich habe ein Problem mir einem Cisco SG350X-48 bei der Erstinstallation wurde eine IP 192.168.0.254 (Default VLAN ...