Office: VBA Script zum Auslesen einer Tabelle

Helfe beim Thema VBA Script zum Auslesen einer Tabelle in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo Zusammmen, ich hoffe ihr könnt mir bei meinem Problem helfen, ich habe auf einem Excel Sheet Daten in drei Spalten (Tabelle1) und möchte diese... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von susushi, 8. Dezember 2008.

  1. susushi Neuer User

    VBA Script zum Auslesen einer Tabelle


    Hallo Zusammmen,
    ich hoffe ihr könnt mir bei meinem Problem helfen, ich habe auf einem Excel Sheet Daten in drei Spalten (Tabelle1) und möchte diese auf einem extra Sheet folgendermassen zusammen fassen.

    Die Abteilung soll in Spalta A aufgelistet werden, In Spalte B/C sollen die Anzahl der ".contractor/.employee" stehen und es sollen nur die "active" User betrachtet werden. (Tabelle2)

    Hoff es ist einigermassen verständlich wie ich mir das vorstelle.

    Dazu hab ich auch schon ein VBA Sript geschrieben, aber es tut nicht so richtig. Hat jemand eine Idee wo der Fehler liegt, oder wie man es besser machen kann??


    Function AuswertungPTG()


    Dim Abteilung(10000) As String
    Dim Employ(10000) As Integer
    Dim Contractor(10000) As Integer

    AbtIndex = 1


    Sheets("PTG User").Select

    Selection.AutoFilter Field:=1
    Selection.AutoFilter Field:=2
    Selection.AutoFilter Field:=3
    Selection.AutoFilter Field:=4
    Selection.AutoFilter Field:=5
    Selection.AutoFilter Field:=6
    Selection.AutoFilter Field:=7
    Selection.AutoFilter Field:=8
    Selection.AutoFilter Field:=9
    Selection.AutoFilter Field:=10


    EndSpalte = [A65536].End(xlUp).Row


    For ii = 2 To EndSpalte


    If (Range("A" + CStr(ii)) = "active") Then
    If ((Range("B" + CStr(ii)) = ".employee") Or (Range("B" + CStr(ii)) = ".contractor")) Then
    Abteil = Range("C" + CStr(ii))

    For jj = 1 To AbtIndex

    If (Abteilung(jj) = Abteil) Then
    AbteilungExist = 1

    If (Range("B" + CStr(ii)) = ".employee") Then
    Employ(jj) = Employ(jj) + 1
    End If
    If (Range("B" + CStr(ii)) = ".contractor") Then
    Contractor(jj) = Contractor(jj) + 1
    End If

    Exit For
    Else
    AbteilungExist = 0
    End If
    Next
    End If
    If (AbteilungExist = 0) Then
    Abteilung(AbtIndex) = Abteil

    If (Range("B" + CStr(ii)) = ".employee") Then
    Employ(AbtIndex) = Employ(AbtIndex) + 1
    End If
    If (Range("B" + CStr(ii)) = ".contractor") Then
    Contractor(AbtIndex) = Contractor(AbtIndex) + 1
    End If


    AbtIndex = AbtIndex + 1

    End If
    End If


    Next

    Sheets("AuswertungPTG").Select
    Offset = 4

    Range("A3") = "Description user group/department"
    Range("B3") = "employee Users"
    Range("C3") = "contractor Users"
    Range("D3") = "Users Total"

    For uu = 5 To AbtIndex - 1

    Range("A" + CStr(uu)) = Abteilung(uu - Offset)
    Range("B" + CStr(uu)) = Employ(uu - Offset)
    Range("C" + CStr(uu)) = Contractor(uu - Offset)
    Range("D" + CStr(uu)) = CInt(Employ(uu - Offset)) + CInt(Contractor(uu - Offset))
    Next




    Columns("A:A").EntireColumn.AutoFit
    Columns("B:B").EntireColumn.AutoFit
    Columns("C:C").EntireColumn.AutoFit
    Columns("D:D").EntireColumn.AutoFit


    Range("A5:D" + CStr(AbtIndex - 1)).Select
    Selection.Sort Key1:=Range("A5"), Order1:=xlAscending, Header:=xlGuess, _
    OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
    DataOption1:=xlSortNormal


    End Function

    Besten Dank im voraus!!!!
     
    susushi, 8. Dezember 2008
    #1
  2. schatzi Super-Moderator
    Hallo!

    Am einfachsten löst du das mit einer Pivot-Tabelle:
    User ID in den Seitenbereich,
    Department in den Zeilenbereich und
    Employee Type einmal in den Spaltenbereich und einmal in den Datenbereich ziehen.
    Fertig!
     
    Zuletzt von einem Moderator bearbeitet: 9. Dezember 2020
    schatzi, 8. Dezember 2008
    #2
  3. susushi Neuer User
    Danke Schatzi, für Deine schnelle Antwort,
    genau so funktioniert es!!! MEGA :-D
     
    susushi, 9. Dezember 2008
    #3
Thema:

VBA Script zum Auslesen einer Tabelle

Die Seite wird geladen...
  1. VBA Script zum Auslesen einer Tabelle - Similar Threads - VBA Script Auslesen

  2. VBA in einer Zeile zu lang

    in Microsoft Excel Hilfe
    VBA in einer Zeile zu lang: Moin, mein VBA Code ist für eine Zeile zu lang. Kann mir einer helfen wie ich den auf 2 Zeilen aufteilen Kann? arrSchuhDaten = Array(Range("A6"), Range("F6"), Range("J6"), Range("A7"),...
  3. Listbox wird nicht breiter, Schriftgrösse ändert sich

    in Microsoft Excel Hilfe
    Listbox wird nicht breiter, Schriftgrösse ändert sich: Hallo, ich habe ein Formular dessen Breite ich mit der Maus ändern kann. Im Formular habe ich einen Rahmen und darin eine Listbox deren Breite an die Formularbreite angepasst wird....
  4. Wer kopiert so spät durch Nacht und Wind...

    in Microsoft Excel Hilfe
    Wer kopiert so spät durch Nacht und Wind...: Hallo, ich störe noch einmal, in der Hoffnung eine Lösung zu finden.... Ich hatte bereits geschrieben, dass ich eine umfangreiche Einzeltabelle (850 Zeilen) sortieren muss und dass auch jede...
  5. Aus VBA PowerShell Script mit Variable starten

    in Microsoft Excel Hilfe
    Aus VBA PowerShell Script mit Variable starten: Hi, gibt es die Möglichkeit ein PowerShell Script (C:/test1.ps1) zu starten und in das Script den Text aus TextBox1 und TextBox2 mit zu übergeben? Danke *Smilie 349962
  6. Anfrage VBA Script: Zellenwert mit Button auf Inhalt prüfen und Wert übertragen

    in Microsoft Excel Hilfe
    Anfrage VBA Script: Zellenwert mit Button auf Inhalt prüfen und Wert übertragen: Hallo zusammen, ich hätte die Bitte ob mir jemand ein VBA Script in Excel erstellen kann. Die Aufgabenbeschreibung erläutere ich am besten anhand eines Beispiels: [ATTACH] Wenn in Spalte...
  7. Script/VBA - nur Betreff weiterleiten

    in Microsoft Outlook Hilfe
    Script/VBA - nur Betreff weiterleiten: Hallo, falls sich jemand mit Makros/VBA im Outlook auskennt - eine Frage dazu: Ist es möglich, eine Weiterleitung so einzurichten, dass nur der Betreff gesendet wird? dh. E-Mail kommt in...
  8. VBA Script bei Aufruf mit Änderung der Schriftgröße

    in Microsoft Word Hilfe
    VBA Script bei Aufruf mit Änderung der Schriftgröße: -------------------------------------------------------------------------------- Wir arbeiten mit Word 2000 Windows XP Eine Word-Datei ist mit einer SQL-Datenbank verbunden. Diese Datei ist...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden