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, 3069 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Outlook & Mail
gelöst Email Anhänge speichern VB Script aber nur bestimmte Dateitypen (Outlook) (4)

Frage von LindeUnimog zum Thema Outlook & Mail ...

VB for Applications
gelöst VB Script rekursiv statt nur ein Ordner (4)

Frage von Saschaaaaa zum Thema VB for Applications ...

VB for Applications
gelöst VB Script nach gefundenem Wort die nächsten 4 Zeichen ersetzten (2)

Frage von deutsch73 zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Windows Tools
gelöst Aussendienst Datensynchronisierung (12)

Frage von lighningcrow zum Thema Windows Tools ...

Windows Server
Suche passender Treiber (12)

Frage von stolli zum Thema Windows Server ...

Peripheriegeräte
Wlan stört Funkmaus (11)

Frage von Falaffel zum Thema Peripheriegeräte ...

Peripheriegeräte
gelöst USB Festplatte verliert Laufwerksbuchstabe (9)

Frage von cese4321 zum Thema Peripheriegeräte ...