Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

VB Script für Excel

Frage Entwicklung VB for Applications

Mitglied: JJJT84

JJJT84 (Level 1) - Jetzt verbinden

10.03.2008, aktualisiert 12:26 Uhr, 3088 Aufrufe, 1 Kommentar

Hi,

ich habe häufiger die Aufgabe Excel Tabellen Manuell nach doppelt vorkommenden Sachen zu durchsuchen, und das ist nervig und sehr sehr zeitaufwendig.
jetzt wollte ich fragen ob es für die Tätigkeit die ich machen muss einen automatischen Weg gibt.

Also die ersten namen die verglichen werden müssen, finden sich alle in einer Spalte (B) und stehen untereinander in verschiedenen Zeilen (können aber bis zu 20 mal untereinander stehen).
und falls dort namen stehen die gleich sind muss eine andere Spalte (g) durchsucht werden (aber nur in den Zeilen, in denen B gleich war) und geguckt werden, ob dort auch etwas doppelt ist.
und falls diese beiden sachen dann zutreffen, die zeile einfach farblich zu markieren.

ich hoffe es war verständlich, und es gibt ein lösung dafür.

vielen dank im vorraus für alle die helfen wollen.

Mfg
Mitglied: misterdemeanor
10.03.2008 um 12:25 Uhr
Grüß Dich,

kenne mich mit dem Excel-Objektmodell nicht so gut aus, und auch sonst ist das kein sehr feiner Algorithmus, sollte aber für Dein Problem sollte es reichen. Je nachdem wie viele Zeilen in der Arbeitsmappe sind kann es den Prozessor schon eine Zeit lang Voll auslasten! Wiegesagt, Programmiertechnisch kein Meisterwerk *g

Einfach in ein Modul Deiner .XLS einfügen. Ggfls. den Namen der Arbeitsmappe (wsName) anpassen und laufen lassen.

01.
Public Function HighlightDublicates() 
02.
On Error Resume Next 
03.
  Dim colDuplicates As Collection 
04.
  Dim ws As Worksheet 
05.
  Dim wsName As String 
06.
  Dim i As Integer 
07.
  Dim j As Integer 
08.
  Dim x As Integer 
09.
  Dim intRows As Integer 
10.
  Dim actualB As String 
11.
  Dim actualG As String 
12.
  Dim thisB As String 
13.
  Dim thisG As String 
14.
    wsName = "Tabelle1" 
15.
    Set ws = Worksheets(wsName) 
16.
    ws.Activate 
17.
    intRows = ws.Cells(Rows.Count, 1).End(xlUp).Row 
18.
 
19.
  For i = 1 To intRows 
20.
    Set colDuplicates = New Collection 
21.
    actualB = ws.Range("B" & i).Value 
22.
    actualG = ws.Range("G" & i).Value 
23.
    colDuplicates.Add i 
24.
    For j = 1 To intRows 
25.
      thisB = ws.Range("B" & j).Value 
26.
      thisG = ws.Range("G" & j).Value 
27.
      If actualB = thisB Then 
28.
        If actualG = thisG Then 
29.
          colDuplicates.Add j 
30.
        End If 
31.
      End If 
32.
    Next j 
33.
    If colDuplicates.Count > 2 Then 
34.
      For x = 1 To colDuplicates.Count 
35.
        ws.Range("B" & colDuplicates(x)).Interior.ColorIndex = 3 
36.
        ws.Range("G" & colDuplicates(x)).Interior.ColorIndex = 3 
37.
      Next x 
38.
    End If 
39.
    Set colDuplicates = Nothing 
40.
  Next i 
41.
End Function
BG, Felix -misterdemeanor-
Bitte warten ..
Ähnliche Inhalte
VB for Applications
gelöst VB-Script per Aufgabenplanung (2)

Frage von S4kar97 zum Thema VB for Applications ...

VB for Applications
gelöst VB Skript Excel Datei (3)

Frage von Frager zum Thema VB for Applications ...

Visual Studio
gelöst VB: Batchprogramm: Resultat zurückgeben an VB Form (Textfeld) (7)

Frage von PixL86 zum Thema Visual Studio ...

VB for Applications
gelöst VB Skript für mehrere Batch Befehle (37)

Frage von freshman2017 zum Thema VB for Applications ...

Neue Wissensbeiträge
Windows Tools

Zeit für Energiesparmodus, Bildschirmabschaltung etc. schnell anpassen

Anleitung von hannsgmaulwurf zum Thema Windows Tools ...

Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(4)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Heiß diskutierte Inhalte