Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Thüringen / Region Großer Inselsberg statt. Hotelbuchung ab sofort möglich.


VBA Excel 2003 - Leerzellen spaltenweise auswerten ?
#1
hallo an alle,

ich habe hier eine Aufgabe bei der ich nicht weiterkomme.
Bin noch zu unerfahren mit Excel. Ich nutze Excel 2003.

Ist keine leichte Aufgabe - könnte mir bitte jemand da eine Lösung
anbieten/helfen.

Mache mir schon tagelang darüber Gedanken 22

Würde mich echt sehr sehr freuen

Angelina


Angehängte Dateien
.xls   Leerzellen.xls (Größe: 29 KB / Downloads: 10)
to top
#2
Hallo,

das geht entweder mit VBA, dürfte das Einfachste sein, oder einer Formel mit mehreren Hilfsspalten, ist machbar, oder eine Formel ohne Hilfsspalten, damit wirst Du wohl kaum zu Rande kommen.
Gruß


Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
to top
#3
Hallo,

teste mal:

Code:
Sub mach()
   Dim bovar As Boolean
   Dim i As Long, j As Long, k As Long, n As Long
   Dim lngZ As Long, lngZS As Long
   Dim rngZ As Range
   Range("DA1").CurrentRegion.ClearContents
   lngZ = Cells(Rows.Count, 1).End(xlUp).Row
   Application.ScreenUpdating = False
   For i = 1 To 7 'lngZ
      Cells(i, 105).Value = Cells(i, 1).Value
      For j = 63 To 98
         If Cells(i, j) <> "" Then
            lngZS = Cells(Rows.Count, j).End(xlUp).Row
            Do Until Cells(i + k + 1, j) <> ""
               k = k + 1
               If k > lngZS Then
                  bovar = True
                  Exit Do
               End If
            Loop
            If bovar Then
               bovar = False
            Else
               Cells(i, 106 + n) = k
            End If
            k = 0
            n = n + 1
         End If
      Next j
      n = 0
   Next i
   Application.ScreenUpdating = True
End Sub

Da mir nicht bekannt ist, was passieren soll, wenn keine Zahlen mehr folgen, bleiben für diese Fälle die Zellen leer. Man könnte da aber auch 0 reinschreiben.
Gruß Atilla

Excel 2007
[-] Folgende(r) 1 Benutzer sagt Danke an atilla für diesen Beitrag:
Angelina
to top
#4
(26.01.2015, 23:15)atilla schrieb: Hallo,

teste mal:
.
.
.

Da mir nicht bekannt ist, was passieren soll, wenn keine Zahlen mehr folgen, bleiben für diese Fälle die Zellen leer. Man könnte da aber auch 0 reinschreiben.


hallo atilla,

du bist ein Engel - ein Schatz - ich küsse dich HeartHeartHeart

So ist es zu 99% perfekt.

1. Wenn keine Zahl mehr folgt - bleibt die Zelle leer (hast du ja bereits so gemacht)

2. Es werden zur Zeit nur die ersten 7 Zeilen abgearbeitet
Ist es machbar wie folgt?
Ist in der Spalte A kein Eintrag mehr vorhanden
dann ist dies die letzte Zeile die ausgewertet werden soll.

3. Ist doch übersichtlicher, wenn die Ausgabe-Daten ab dem Bereich
DB in der Spalte eingetragen würden, in der sie im Bereich BK:CT vorgekommen sind.
Matrix zum prüfen ist = BK:CT (36 Zellen)
Matrix Ausgabe = DB:EK (36 Zellen)
DA bleibt

Nochmals vielen dank das du dir - für mich - die Arbeit gemacht hast.
Du bist einfach - toll !

Kuss
Angelina
to top
#5
Hallo Angelina,

dann sparen wir etwas Code, teste mal:

Code:
Sub mach()
   Dim bovar As Boolean
   Dim i As Long, j As Long, k As Long
   Dim lngZ As Long, lngZS As Long
  
   Range("DA1:EK36").ClearContents
   lngZ = Cells(Rows.Count, 1).End(xlUp).Row
   Application.ScreenUpdating = False
   For i = 1 To lngZ
      Cells(i, 105).Value = Cells(i, 1).Value
      For j = 63 To 98
         If Cells(i, j) <> "" Then
            lngZS = Cells(Rows.Count, j).End(xlUp).Row
            Do Until Cells(i + k + 1, j) <> ""
               k = k + 1
               If k > lngZS Then
                  bovar = True
                  Exit Do
               End If
            Loop
            If bovar Then
               bovar = False
            Else
               Cells(i, j + 43) = k
            End If
            k = 0
         End If
      Next j
   Next i
   Application.ScreenUpdating = True
End Sub

Bitte diesmal nur dezent Danke sagen. Meine Frau sitzt mir hier nämlich im Nacken. 51 69, außerdem werde ich schnell rot. Wubsmiley
Gruß Atilla

Excel 2007
[-] Folgende(r) 1 Benutzer sagt Danke an atilla für diesen Beitrag:
Angelina
to top
#6
Hallo Angelina,

da Du die Tabelle jetzt versetzt darstellst, geht es mit Formeln auch relativ einfach zu lösen:

Arbeitsblatt mit dem Namen 'Tabelle1'
 DADB
120001

ZelleFormel
DA1=WENN(A1="";"";A1)
DB1{=WENN(BK1="";"";WENN(ISTFEHLER(VERGLEICH(WAHR;ISTZAHL(BK2:BK$36);0));"";VERGLEICH(WAHR;ISTZAHL(BK2:BK$36);0)-1))}
Achtung, Matrixformel enthalten!
Die geschweiften Klammern{} werden nicht eingegeben.
Verlassen Sie den Zelleneditor mit Strg+Shift + Enter, statt Enter alleine.
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg

Die Formel in DB1 kann nach rechts und nach unten gezogen (kopiert) werden.
Gruß Atilla

Excel 2007
to top
#7
(27.01.2015, 12:28)atilla schrieb: Hallo Angelina,

da Du die Tabelle jetzt versetzt darstellst, geht es mit Formeln auch relativ einfach zu lösen:


hallo lieber atilla,

hm... Schade hätte es lieber über VBA gemacht. Ist das zu aufwendig?

Kuss
Angelina
to top
#8
Hallo Angelina,

die Lösung mit VBA habe ich doch im Beitrag:

Heute, 11:51
Beitrag #5


Mit den Formeln war nur eine zusätzlicher Lösungsvorschlag.
Gruß Atilla

Excel 2007
to top
#9
hallo atilla,

entschuldige Bitte - Beitrag habe ich vor lauter Freude übersehen.

18

23

282828

Unglaubich von dir - tolle Leistung - Danke danke danke danke ..........

Darf ich die Tage dich noch um eine ganz kleine Aufgabe bitten?
Ist nicht so aufwendig - wirklich ... klein ....
23


Danke nochmals
Angelina
to top
#10
Hallo Angelina,

das ist hier ein öffentliches Forum. Du kannst jederzeit Deine Fragen stellen.
Besser ist es aber, wenn Du die Allgemeinheit ansprichst. Es gibt viele andere Helfer hier,
die dir genauso gut oder besser helfen können.
Gruß Atilla

Excel 2007
to top


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Xlsm Datei mit Office 2003 öffnen Thomas der Xte 7 123 19.11.2016, 17:51
Letzter Beitrag: Thomas der Xte
  Bestellungen mit Excel auswerten kaybee 8 152 14.10.2016, 16:04
Letzter Beitrag: kaybee
  Hilfe!! Fragebogen auswerten MrGreen 4 169 25.09.2016, 09:13
Letzter Beitrag: schauan
  2 Spalten vergleichen und ohne Leerzellen kopieren SusannK 3 165 19.08.2016, 21:09
Letzter Beitrag: Gast 123
  Befragung auswerten als Säulendiagramm Tobson07 13 637 06.08.2016, 21:28
Letzter Beitrag: Tobson07
  Formel aus Excel 2010 in Excel 2003 übertragen Robert 2 275 12.07.2016, 16:01
Letzter Beitrag: Robert
  Matrix auswerten Collan 7 385 12.07.2016, 14:57
Letzter Beitrag: Jockel
  3 Spalten auswerten Cadilac DVille 1973 2 295 12.06.2016, 12:37
Letzter Beitrag: Cadilac DVille 1973
  Messdatei auswerten aus Uhrzeit Zeit berechnen und suchen chris13u 7 590 25.05.2016, 09:02
Letzter Beitrag: chris13u
  Lieferantenkosten auswerten Natsch 6 390 12.03.2016, 16:58
Letzter Beitrag: schauan

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste