Anzeige
Archiv - Navigation
1128to1132
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zellen auslesen

Zellen auslesen
Leitz
Guten Abend!
Hätte gerne gewußt wie ich per VBA Werte aus Zellen auslesen kann.
Ich habe in der Spalte AH 4 bis AH 77 Werte (z.B. D 6001 od. D 1001 od. MP 1003 ........).
Wie kann ich die Zeilen auslesen erstens wieviel verschieden Werte stehen drinnen und in welchen Zeilen.
z.B. AH5 - AH7 = D 1001 ; AH11 - AH16 = D 6001 ; AH33 - AH34 = D 4001
Es stehen max. 6 verschieden Werte in den Zellen.
Bitte um Eure Hilfe
Gruß
Leitz G.

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zellen auslesen
21.01.2010 21:27:17
Rene
vielleicht so
dim x(100)
For ze = 4 to 77
x(ze) = cells(ze, 34)
if cells(ze, 34) = "?" Then
msgbox "in dieser Zelle steht " & cells(ze,34)
end if
next ze
AW: Zellen auslesen
21.01.2010 23:20:44
Tino
Hallo,
hier mal eine Version zum testen.
Sub test()
Dim oDic As Object, meAr(1), strString$
Dim A As Long

Set oDic = CreateObject("Scripting.Dictionary")
'Tabellennamen anpassen !!!!!!!!!!!!!!! 
meAr(0) = Sheets("Tabelle1").Range("AH4:AH77").Value2

For A = 1 To Ubound(meAr(0))
 If meAr(0)(A, 1) <> "" Then
    If oDic.exists(meAr(0)(A, 1)) Then
       oDic(meAr(0)(A, 1)) = Union(Range(oDic(meAr(0)(A, 1))), Range("AH" & 3 + A)).Address(0, 0)
    Else
       oDic(meAr(0)(A, 1)) = "AH" & 3 + A
    End If
 End If
Next A

meAr(0) = oDic.Keys
meAr(1) = oDic.Items

For A = Lbound(meAr(0)) To Ubound(meAr(0))
  strString = strString & "'" & meAr(0)(A) & "' In Zelle: " & meAr(1)(A) & vbCr
Next A

MsgBox Left$(strString, Len(strString) - 1)

End Sub
Gruß Tino
Anzeige
AW: Zellen auslesen
22.01.2010 10:22:04
Leitz
Hallo!
Das ganze ist mir etwas zu kompliziert. Hänge deßhalb eine Testdatei an, die erklären soll was ich will.
Wenn in den Spalten S u. T Einträge sind dann handelt es sich um gleiche Positionen.
Wenn das so ist soll in der ersten Position die Stückzahl (K) um die Anzahl der gleichen erhöt werden und der Gesamtpreis (N) neu berechnet werden. Die darunter liegende Zeilen mit der Gleichen Pos. soll dann die Zellinhalte gelöscht werden bis auf die Spalte I und J.
Wenn in der Spalte P ein Eintrag ist (ausgeschieden) dann soll diese Zeile keine Berücksichtigung finden.
https://www.herber.de/bbs/user/67409.xls
Ich hab in der Datei zwei Tabellenblätter drinnen Tabelle1 = Start ; So solls aussehen = Ergebnis
Gruß
Leitz G.
Anzeige
AW: Zellen auslesen
22.01.2010 10:45:40
welga
Hallo Leitz G.,
Versuch mal folgendes:
Sub testing()
Dim i As Long
For i = Sheets(1).UsedRange.Rows.Count To 4 Step -1
If Cells(i, 19).Value  "" And IsNumeric(Cells(i, 20)) Then
If Cells(i, 19).Value = Cells(i - 1, 19).Value Then
Cells(i - 1, 11).Value = Cells(i - 1, 11).Value + Cells(i, 11).Value
Cells(i, 11).ClearContents
Cells(i, 8).ClearContents
Cells(i, 14).ClearContents
Cells(i - 1, 14).Value = Cells(i - 1, 8).Value * Cells(i - 1, 11).Value
End If
End If
Next i
End Sub
Ich verstehe nur nicht, wie du nachher auf H26=50,00 kommst, denke aber dass es nur ein Tippfehler ist.
Anzeige
AW: Zellen auslesen
22.01.2010 11:22:35
Leitz
Hallo Welga!
Ist ein Tippfehler! Sorry
Herzlichen Dank für die superschnelle Hilfe!
Funktioniert perfekt! Nur wenn die oberste Zeile (z. B. 25) ausgeschieden wird dann dürfte diese nicht bearbeitet werden und der Endwert eine Zeile darunter ermittelt werden.
Sollte man das leicht ändern können, dann bitte ich Dich nochmals um Hilfe!
Sollte das kompliziert werden, dann versuche ich eine andere Lösung zu finden.
Gruß und Dank
Leitz G.
AW: Zellen auslesen
22.01.2010 13:05:00
welga
Hallo,
versuch mal:
Sub testing()
Dim i As Long
Dim a As Long
Dim b As Boolean
Dim c As Boolean
For i = Sheets(1).UsedRange.Rows.Count To 4 Step -1
b = False
c = True
If Cells(i, 19).Value  "" And IsNumeric(Cells(i, 20)) And Cells(i, 16) = "" Then
If Cells(i, 19).Value = Cells(i - 1, 19).Value Then
If Cells(i - 1, 16).Value  "" Then b = True
If b Then
a = 1
If Cells(i, 19).Value  Cells(i - 1 - a, 19).Value Then c = False
b = False
Else
a = 0
End If
If c Then Cells(i - 1 - a, 11).Value = Cells(i - 1 - a, 11).Value + Cells(i, 11).Value
If c Then Cells(i, 11).ClearContents
If c Then Cells(i, 8).ClearContents
If c Then Cells(i, 14).ClearContents
If c Then Cells(i - 1 - a, 14).Value = Cells(i - 1 - a, 8).Value * Cells(i - 1 - a, 11).Value
End If
End If
If Cells(i, 16)  "" Then
Cells(i, 11).ClearContents
Cells(i, 8).ClearContents
Cells(i, 14).ClearContents
End If
Next i
End Sub
Gruß
welga
Anzeige
AW: Zellen auslesen
22.01.2010 13:27:58
Leitz
Hallo Welga!
Es ist perfekt!
Vielen Dank!!!
Schönes Wochenende und Gruß
Leitz G.
AW: Zellen auslesen
22.01.2010 14:36:08
welga
Eine Anmerkung habe ich noch:
Das funktioniert nur, wenn nicht in zwei aufeinander folgenden zeilen etwas in der Ausgeschieden-Spalte steht.
Falls das auch berücksichtigt werden soll, bitte kurz bescheid geben.
Gruß
Welga
Sorry kann nicht helfen, verstehe es nicht.
22.01.2010 11:06:39
Tino
Hallo,
ich verstehe Deine Tabelle in Zusammenhang mit dem Ergebnis nicht.
z. Bsp. wird
D 1001 044
nicht mit
D 1001 012
zusammengezogen, aber
D 3010 011
D 3010 005
D 3010 009
D 3010 003
wiederrum doch?!
Warum aus der 40 bei D3010 in 'PREIS STK.' auf einmal eine 50 wird verstehe ich auch nicht?!
Sorry kann nicht helfen da ich es nicht verstehe.
Gruß Tino
Anzeige
AW: an Tino
22.01.2010 11:25:34
Leitz
Hallo Tino!
Danke für das Angebot! Habe schon eine super Lösung von Welga!
Dank und Gruß
Leitz G.
welches Angebot? Verstehe es immer noch nicht. oT.
22.01.2010 14:36:15
Tino

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige