Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
580to584
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
580to584
580to584
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Wichtig! Wichtig!

Wichtig! Wichtig!
09.03.2005 08:47:00
Johannis
HUHU!
Hey Leute! Ein Problem hat sich gerade von mir selber beheben lassen!
Nun das zweite! Also! Ich habe folgendes in meinem Programm stehen:
Zeile = ActiveCell.Row ' aktive Zelle
Bereich = Selection.Address(0, 0) ' markierter Bereich z.B. A2:A6
Worksheets!Tabelle2.Cells(1, 2) = Bereich ' In der Zelle soll der Bereich erscheinen (z.B. A1 = A2:A5)
Worksheets!Tabelle2.Cells(1, 1) = Zeile ' aktive Zelle wird auch ausgegeben in der Tabelle
a = CInt(Zeile) ' a ist = Zeile (z.B. A6 - also 6)
b = CInt(Mid(Bereich, 5, 1))
Und bei der Variable "b" liegt jetzt mein Problem! Ich möchte nun auch für die Variable den Wert aus meinem Bereich haben. Das heißt:
Bereich = A7:A12
a = 7
b = 12
Nun weiß ich aber nicht wie ich an die 12 für die Variable "b" kommen soll! Wenn ich den Bereich = A2:A8 habe, dann ist "a" laut meinen bisherigen Formeln = 2 und "b" wäre = 1 obwohl es 12 sein müsste!!
Wie mache ich es, das ich egeal ob das nun A2:A8 oder A2:A12 stehte, er mir den richtigen wert für "b" liefert!
Bitte um Hilfe!
MfG Grevi

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wichtig! Wichtig!
09.03.2005 09:21:00
MichaV
Hi,
was Du suchst ist right(Adresse,len(Adresse)-instrrev(Adresse,":")). Das ergibt den String neben dem ":", also B12 (wenn Adresse "A1:B12" ist).
Ansonsten kannst Du die oberste markierte Zeile mit Selection.Row und die Anzahl der markierten Zeile mit Selection.Rows.Count ermitteln. Wenn Du beides Addierst, hast Du die letzte markierte Zeile. Das ist, glaub ich, was Du willst.
Gruß!
AW: Wichtig! Wichtig!
09.03.2005 09:36:01
Johannis
HUHU!
Danke für die Antwort! Ja das ist schon ungefähr das was ich brauche! Kann das nur nicht ganz ausführen! Was muss ich den in die Funktion einsetzen?
iMax = Right(Bereich, Len(Bereich) - Instrrev(Bereich, ":"))
oder wie muss ich das schreiben! Verstehe ich nicht ganz!
MfG Grevi
Anzeige
AW: Wichtig! Wichtig!
09.03.2005 09:42:01
MichaV
Hi,
hast Du es denn mal ausprobiert?
Micha
AW: Wichtig! Wichtig!
09.03.2005 09:48:06
Johannis
HUHU!
Also ausprobiert habe ich es! Ich habe folgende Schritte gemacht:
1. In der Tabelle den Bereich markiert.
2. Programm gestartet
Ich habe die Funktion folgender Maßen geschrieben.
Private Sub cmb_Starten_Click()

Dim InventurNr As String
Dim LogischerName As String
Dim IP_Adresse As String
Dim Speicher As String
Dim System As String
Dim iMax As Integer
Dim i As Integer
Dim FileNum As String
Dim Bereich As String
Dim Zeile As Integer
Dim Spalte As Integer
Dim a As Integer

Zeile = ActiveCell.Row
Bereich = Selection.Address(0, 0)
Worksheets!Tabelle2.Cells(1, 2) = Bereich
Worksheets!Tabelle2.Cells(1, 1) = Zeile
i = CInt(Zeile)
iMax = Right(Bereich, Len(Bereich) - InStr(Bereich, ":"))
.....
.....
.....
Bereich = Markierter Bereich in der Tabelle!
Wenn ich das Programm jetz ausführe, dann zeigt er mir "Typen unverträglich" als Fehler an! Woran kann das liegen? Und ist die Funktion so überhaupt richtig geschrieben?
MfG Grevi
Anzeige
warum.....
09.03.2005 09:52:31
Volker
bleibst Du nicht im alten thread. ist doch alles ein Thema.
Ich hab jetzt hoffenlich geschnallt, wo Dein Schuh drückt.
Du sucht den absoluten Spalten- und Zeilenindex der rechten, unteren Ecke deiner Markierung.
Deinen Umweg über die Adresse in einer Zelle und dann mid(cells(x,y)..bla,bla ist überflüssig.
Bsp.:
markiert ist B3:F6
linke,obere Ecke
zeile1=selection.row 'ergibt 3
spalte1=selection.column 'ergibt 2
Anzahl selektierter Zeilen/Spalten
zeile2=selection.row.count 'ergibt 4
spalte2=selection.column.count 'ergibt 5
linke/obere Ecke + Anzahl -1 ergibt absoluten Zeilen-/Spaltenindex der rechten, unteren Ecke:
zeile3=zeile1 + zeile2 -1
spalte33=spalte1 + spalte 2 -1
Das Forum lebt auch von Rückmeldungen, als gib doch mal laut, ob nun alles klar ist.
Gruß
Volker
Anzeige
AW: warum.....
09.03.2005 10:00:13
Johannis
HUHU Volker!
Sorry habe den Eintrag von dir nicht gelsen! Also ich verstehe nicht ganz was du meinst! Hier noch mal mein Problem:
Ich markiere einen Bereich in einer Tabelle: z.B. A2:A8
Nun habe ich 2 Variablen! "a" und "b"
Der Variable "a" soll nun der Wert der ersten markierten Zelle sein (also 2 (wegen A"2") und der Variable "b" soll der Wert der letzten im markierten Bereich markierten Zelle sein (also 8 (wegen A"8")
Der markierte Bereich wird mit in eine Zelle ausgegeben. In der steht dann z.B. A2:A8
Nun habe ich der Variable "a" schon die 2 zugewiesen. Jetz fehlt mir nur noch, das ich der Variable "b" den Wert zu Weise! In diesem Beispiel dann 8!
Wenn jetzt allerdings der Bereich A2:A14 ist, dann muss mir die Funktion trotzdem den Wert ausgeben. Hier dann 14!
Verstehst du wie ich es meine?
MfG Grevi
Anzeige
Frage hat sich erledigt! Danke an alle!
09.03.2005 10:05:34
Johannis
Hey Leute!!
Ich habe das Problem gelöst!
Danke an alle Helfer
MfG Grevi
AW: warum.....
09.03.2005 10:11:01
MichaV
Hi,
Du hast bisher schon mehrere Hinweise erhalten, daß es einfacher mit selection.row und selection.row.count usw. geht.
CInt("A2") ist einfach nicht möglich, daher der Fehler. Du müsstest wieder das A von der 2 separieren, aber es kann ja auch ein AA sein! Also wieder eine Abfrage. Nur wozu Deine Umwege? Versuch einfach mal, von Deinem Lösungsweg wegzukommen. Du wirst sehen, daß es mit den Hinweisen von den Antwortern besser gehen wird.
Gruß und Frohes Schaffen! Micha
Na also.., gern geschehen
09.03.2005 10:16:37
Volker
.
Warum einfach wenn's auch umständlich geht
09.03.2005 14:27:06
Martin
Hallo,
wohl eher für's Archiv, warum nicht so:
a = Selection(1).Row
b = Selection(Selection.Cells.Count).Row
Gruß
Martin Beck
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige