Projektanfrage

Projektanfrage über Web Formular   per Online-Formular 
Projektanfrage über E-Mail  Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!
Projektanfrage per Telefon  +49 (0)151 / 164 55 914
Projektanfrage weitere Informationen  weitere Informationen 

Sie benötigen Hilfe oder Unter-stützung? Nutzen Sie für Ihre Anfrage unser Online-Formular, senden Sie uns eine Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! oder rufen Sie uns einfach an.

   
      Referenzen 

 Bosch 
  T-Systems
  Hagebau
  Siemens
 Areva  VW
 Haufe-Lexware  British American Tobacco
  nagel group farbe
   
     Programmierung
Excel Auftragsprogrammierung Access Auftragsprogrammierung
Word Auftragsprogrammierung Outlook Auftragsprogrammierung
   
   

Projektanfrage

 Sie benötigen eine Auftragsprogrammierung?
 Oder suchen Unterstützung bei der Lösungs-
 findung?

  Nutzen Sie unser Auftragsformular

  Jetzt anrufen unter 0151 / 164 55 914

 Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! Projektanfrage per Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! senden

  Weitere Informationen

sitepanel question2

P
r
o
j
e
k
t
a
n
f
r
a
g
e
   

Konvertieren eines mehrzeiligen Daten-Blocks zu einem konstistenten Datensatz

In diesem Beispiel zeigen wir Ihnen, wie sich ein nicht konsistenter Datenblock in einen kosistenten Datensatz konvertieren lässt. Die folgende Abbildung zeigt die Ausgangssituation, also den Datenblock, der entsprechend konvertiert werden soll.

  A B
1 Fall-Nr. Merkmal
2 1234 FE00012
3   FE00014
4 12344 FE00018
5   FE00012
6 11111 FE00024
7   FE00012
8   FE00035
9 9234 FE00001
10 11134 FE00015
11   FE00009
12    

Ziel ist nun, zu jeder Fall-Nummer aus Spalte A die Merkmale zuzuordnen. Der erste Datensatz soll also wie folgt aufgebaut sein:

Fall-Nr.   Merkmal 1   Merkmal 2
1234      FE00012     FE00014

Für die Zuordnung der Merkmale zu den Fall-Nummern kann folgender VBA-Code verwendet werden:

Sub umgliedern()

Dim lngZeile As Long
Dim lngSpalte As Long

'** Vorgaben definieren
Set ws = ThisWorkbook.ActiveSheet
lngZeile = 1
lngSpalte = 7

'** Ausgabebereich löschen
ws.Range("E2:Z100").ClearContents


'** Durchlaufen des Datenbestands von Zeile 2 bis zur letzten Zeile in Spalte B
For a = 2 To ws.Cells(Rows.Count, 2).End(xlUp).Row
  
  '** Prüfen, ob die Zeile in Spalte 1 einen Wert enthält
  If ws.Cells(a, 1).Value <> "" Then
    
    lngZeile = lngZeile + 1 'Zeilennummer erhöhen
    ws.Cells(lngZeile, 5).Value = ws.Cells(a, 1).Value 'Wert aus Spalte 1 in neuen Bereich übertragen
    ws.Cells(lngZeile, 6).Value = ws.Cells(a, 2).Value 'Wert aus Spalte 2 in neuen Bereich übertragen
    lngSpalte = 7 'Spaltennummer setzen
  
  '** Prüfen, ob Zeile in Spalte 1 leer ist
  ElseIf ws.Cells(a, 1).Value = "" Then
    
    ws.Cells(lngZeile, lngSpalte).Value = ws.Cells(a, 2).Value 'Wert aus Spalte 2 in neuen Bereich übertragen
    lngSpalte = lngSpalte + 1 'Spaltennummer erhöhen
  End If
  
Next a
End Sub

Nachdem das Makro durchgelaufen ist, sieht das Ergebnis wie folgt aus:

  E F G H
1 Fall-Nr. Merkmal 1 Merkmal 2 Merkmal 3
2 1234 FE00012    
3 12345 FE00014    
4 12344 FE00018 FE00012  
5 11111 FE00024 FE00012 FE00035
6 9234 FE00001    
7 11134 FE00015 FE00009  
8        

Die konvertierten Datensätze wurden ab Spalte E eingetragen. Sämtliche Merkmale pro Fall-Nummer wurden ausgelesen und dem entsprechenden Fall zugeordnet. Damit liegt pro Fall ein kosistenter Datensatz mit den zugeordeten Mermalen vor.

Dieser Code berücksichtigt automatisch die korrekte Anzahl an Merkmalen pro Fall-Nr, ohne dass eine Anpassung des Codes erforderlich ist.

Über den nachfolgenden Link kann die Beispieldatei heruntergeladen werden.

 

   

Relevante Artikel

  • Zell-Selektion auf nicht geschützte Zellen beschränken

    101079 Dieses Makro beschränkt die Zell-Auswahl auf ungeschützte Zellen. Dazu ist es notwendig, dass der Blattschutz gesetzt ist. Wenn Sie dieses Makro ausführen, können Sie nur noch die...

  • Array-Bereich direkt in Zell-Bereich schreiben

    Sie kennen sicherlich den gewohnten Umgang (schreiben und lesen) mit Array-Variablen. Normalerweise wird jeder Eintrag der Array-Variable einzeln referenziert. Sub Normales_Array()'**...

  • Gesperrte Zellen markieren bzw. einfärben

    101085 Mit dem folgenden Makro können sie alle gesperrten Zellen mit roter Hintergrundfarbe im selektierten Bereich kennzeichnen. Public Sub gesperrte_Zellen_einfärben() Dim addr As String Dim zelle As...

  • ScrollArea dauerhaft festlegen

    Als ScrollArea wird ein definierter Bereich bezeichnet, innerhalb dessen in Excel gescrollt werden kann. Die Einstellung der Eigenschaft finden Sie im VBA-Editor (Aufruf mit [Alt] + [F11])....

  • Anzahl der leeren Zellen innerhalb eines Bereiches ermitteln

      101055     Mit dem Makro leere_zellen_ermitteln wird die Anzahl aller leeren Zellen im selektierten Bereich ermittelt und mittels einer MsgBox angezeigt. Sub leere_zellen_ermitteln()leer = 0For Each Zelle In SelectionIf Zelle.Value = "" Thenleer = leer + 1End IfNext ZelleMsgBox "Es gibt " & leer & " leere Zellen im selektieren Bereich."End Sub Über eine For-Nexe-Schleife wird...