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 VBA Wörterliste durchgehen und Anzahl der Wörter in Tabelle schreiben

Frage Microsoft Microsoft Office

Mitglied: Zockerman

Zockerman (Level 1) - Jetzt verbinden

01.02.2011 um 10:30 Uhr, 7808 Aufrufe, 5 Kommentare

Makro zum Zählen von Wörtern.

Hallo liebe Community,

ich habe (mal wieder) ein Problem. Und zwar möchte ich eine Vorlage erstellen, mit der ich eine *.csv importiere. Eine *.txt und diese dann auswerte.
Wie ich das mache weiß ich schon, aber es scheitert an noch an der Programmierung.

Das importieren habe ich bereits programmiert. Das geht.

Also:
1. Die *.csv enthält Logon-Daten der User und wird in die Tabelle "Import" geschrieben. Alle in Spalte "A" (Bsp: mobileadress,kriegste.eh@nich.com,Oct 2, 2010 10:53:29 AM CEST,S:1638852001)

2. Die *.txt enthält E-Mail-Adressen der User und wird in die Tabelle "User" geschrieben. Alle in Spalte "A" (Bsp: kriegste.eh@nich.com)

3. Es soll die zweite Tabelle "User" durchgegangen werden, Zeile für Zeile, und dann geschaut werden. Wie oft kommt die E-Mail-Adresse in der "Import"-Tabelle vor.
Es soll also gezählt werden, wie oft sich ein User angemeldet hat.

Ich hoffe ich konnte es deutlich genug erklären.

Nun mein bisheriger Programmcode. Aber ich hatte schon viele andere Lösungsansätze. Das scheint mir aber der beste zu sein.

01.
Sub Login_Auswerten() 
02.
 
03.
    Dim lngZeile As Long 
04.
    Dim SuchWort As String 
05.
    Dim Anzahl As Long 
06.
    
07.
    For lngZeile = 1 To Sheets("User").Cells(Rows.Count, 1).End(xlUp).Row 
08.
        SuchWort = InputBox("Geben Sie den genauen Pfad der Datei an") 
09.
        Anzahl = 0 
10.
        ActiveDocument.Range.Find.Text = SuchWort 
11.
            While ActiveDocument.Range.Find.Execute 
12.
                Sheets("Auswertung").Cells(lngZeile, 1) = Sheets("User").Cells(lngZeile, 1) 
13.
                Sheets("Auswertung").Cells(lngZeile, 2) = Sheets("Auswertung").Cells(lngZeile, 2) + 1 
14.
            Wend 
15.
    Next 
16.
 
17.
End Sub
Mitglied: Zockerman
01.02.2011 um 10:46 Uhr
2 Fehler gesehen^^
1. SuchWort = InputBox("Geben Sie den genauen Pfad der Datei an") --> SuchWort = InputBox("Geben Sie den Suchbegriff ein")

2. SuchWort = InputBox("Geben Sie den genauen Pfad der Datei an") --> Set SuchWort = InputBox("Geben Sie den genauen Pfad der Datei an")
Anzahl = 0 --> Set Anzahl = 0
Bitte warten ..
Mitglied: bastla
01.02.2011 um 11:15 Uhr
Hallo Zockerman!

Wozu brauchst Du VBA? Ein simples "ZÄHLENWENN()" sollte doch in diesem Fall (wenn sich ja die gesuchten Adressen in einer eigenen Spalte befinden) ausreichen ...

Grüße
bastla

BTW: "Set" wird in VB(A) für das Erzeugen von Objektvariablen benötigt - für die Zuweisung eines Strings (ob aus einer "MsgBox" oder auf andere Weise) oder eines Zahlenwertes ist es nicht verwendbar ...
Bitte warten ..
Mitglied: Zockerman
01.02.2011 um 11:22 Uhr
Hallo.

Ähm dumme Frage. Wie geht das. Ich kann nix mit Excel auser programmieren :D

ok danke. Dass das mit dem Set falsch war hab ich mittlerweile auch gemerkt.

Aber ich würde es trotzdem gerne in VB haben, da es über einen Button ablaufen soll.

01.
Sub Login_Auswerten() 
02.
 
03.
    Dim lngZeile As Long 
04.
    Dim SuchWort As String 
05.
    Dim Anzahl As Long 
06.
    Application.ScreenUpdating = False 
07.
    For lngZeile = 1 To Sheets("User").Cells(Rows.Count, 1).End(xlUp).Row 
08.
        SuchWort = Sheets("User").Cells(lngZeile, 1) 
09.
        Anzahl = 0 
10.
        Sheets("Auswertung").Cells(lngZeile, 1) = Sheets("User").Cells(lngZeile, 1) 
11.
        Sheets("Auswertung").Cells(lngZeile, 2) = 0 
12.
        ActiveDocument.Range.Find.Text = SuchWort 
13.
            While ActiveDocument.Range.Find.Execute 
14.
                Sheets("Auswertung").Cells(lngZeile, 2) = Sheets("Auswertung").Cells(lngZeile, 2) + 1 
15.
            Wend 
16.
    Next 
17.
    Application.ScreenUpdating = True 
18.
     
19.
End Sub
Mein aktueller Code
Bitte warten ..
Mitglied: bastla
01.02.2011 um 15:08 Uhr
Hallo Zockerman!

Naja, ein Schleifchen hättest Du ja schon, und die Formel kannst Du auch per VBA eintragen (ist dann sogar dynamisch):
01.
Sub Login_Auswerten() 
02.
 
03.
Dim lngZeile As Long 
04.
Application.ScreenUpdating = False 
05.
For lngZeile = 1 To Sheets("User").Cells(Rows.Count, 1).End(xlUp).Row 
06.
    Cells(lngZeile, "B").FormulaLocal = "=ZÄHLENWENN(Auswertung!B:B;" & "A" & lngZeile & ")" 
07.
Next 
08.
Application.ScreenUpdating = True
Das Testen (und ggf Anpassen der Spalten / Tabellennamen oder Eingrenzen des zu durchsuchenden Bereiches - derzeit "B:B") habe ich Dir überlassen ...

Grüße
bastla
Bitte warten ..
Mitglied: Zockerman
02.02.2011 um 10:48 Uhr
Danke funktioniert (:

Gruß Zockerman
Bitte warten ..
Ähnliche Inhalte
Datenbanken
Excel2007 - Excel VBA Tabelle in MySQL Datenbank schreiben
gelöst Frage von moribundusDatenbanken2 Kommentare

Hallo Zusammen, ich versuche vergebens eine komplette Tabelle in eine MySQL Datenbank zu schreiben bekomme aber immer wieder folgenden ...

VB for Applications
Excel VBA HTML-Tabelle auslesen
gelöst Frage von chef1568VB for Applications2 Kommentare

Hallo, ich möchte eine in einer Email eingebundenen HTML-Tabelle auslesen und in einen Array speichern. Hierzu habe ich bereits ...

Microsoft Office
EXCEL VBA Termindaten aus Tabelle Filtern
Frage von t3jxbusMicrosoft Office

Hallo, ich habe hier folgenden Codeblock gefunden für VBA im Excel: Das ganze funktioniert auch soweit super. Ich beschreibe ...

VB for Applications
Excel 2013 VBA Tabellen aufrufen
Frage von Just4fun1990VB for Applications5 Kommentare

Hallo Administrator.de User, ich habe leider folgendes Problem. Und zwar soll Excel bei einem inaktiven Fenster eine Tabelle aufrufen. ...

Neue Wissensbeiträge
Microsoft Office

Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei

Anleitung von SarekHL vor 1 StundeMicrosoft Office2 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Erkennung und -Abwehr

Sicherheitslücke Spectre und Meltdown: Status prüfen

Anleitung von Frank vor 7 StundenErkennung und -Abwehr2 Kommentare

Nach all den Updates der letzten Woche sollte man unbedingt auch den Status prüfen, ob die Sicherheitslücken Spectre, Meltdown ...

Microsoft Office

Office 2010 Starter erneut auf einer frischen Windows-Version installieren

Tipp von Lochkartenstanzer vor 1 TagMicrosoft Office9 Kommentare

Moin, vor ein paar Tagen schlug bei mir ein Kunde auf, der sein Widnows 7 geschrottet und es inklusive ...

Datenbanken

Upgrade MongoDB 3.4 auf 3.6

Erfahrungsbericht von Frank vor 1 TagDatenbanken

Seit kurzem gibt es das 3.6 Update für die MongoDB: Sicherheit, das Sortieren, Aggregation und auch die Performance wurde ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

Drucker und Scanner
Gesucht DIN A3 Drucker
Frage von NebellichtDrucker und Scanner15 Kommentare

Hallo, ich möchte einen neuen DIN A3 Drucker kaufen. Um ab und zu, ca. 1 mal die Woche Farbausdrucke ...

iOS
Einladung vom iphone kalender
Frage von jensgebkeniOS15 Kommentare

Hallo Gemeinschaft, folgendes Problem - immer wenn ich von meinem Iphone einen Termin einztrage und diesem Termin Teilnehmer zuweise, ...

Batch & Shell
Dateien verschieben mit batch
gelöst Frage von michi-ffmBatch & Shell13 Kommentare

Hallo Zusammen hat jemand evtl eine Idee? Zunächst hier das Skript: Leider werden keine UNC-Pfade unterstüzt, kann mir jemand ...