Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
856to860
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
856to860
856to860
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Spalte A + 2 ???

Spalte A + 2 ?
27.03.2007 20:27:19
Mathias
Hallo,
folgenden VBA Code habe ich:
DIM Spalte as string
Spalte = Target.Cells.Columns
Worksheets("- Tagesauswertung -").Columns(Spalte).Calculate
Nun möchte ich mit der letzten Anweisung z.B. aber die zweite Spalte neben Spalte "A" ansprechen.
Wie bekomme ich das hin? Anscheinend nimmt "Worksheets" nur Spaltenbezeichnungen als String an...
Viele Grüße
Mathias Willmes

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Spalte = Spalte + 1
27.03.2007 21:10:24
Florian
Hallo Mathias,
ODER
Worksheets("- Tagesauswertung -").Columns(Spalte + 1).Calculate
Gruß,
Florian
AW: Spalte A + 2 ?
27.03.2007 21:14:09
Alex
Hallo Willmes
Ich habe da mal 2 Fuctionen geschrieben. Mit der einen kanst Du zb. die Spalte AX in eine Zahl umwandeln und mit der andern die Zahl 27 in AA
Mit den zewi Prozeduren kannst du das Problem lösen.

Public Function ColumnIndexToString(Index As Integer) As String
Dim sTmp As String
Dim iCounter As Integer
Dim iMod As Integer
' Ermitteln wie oft das ABC im Index vorkommt
iCounter = WorksheetFunction.RoundDown(CDbl(Index / 26), 0)
iMod = Index Mod (26)
If iMod = 0 Then
iMod = 26
iCounter = iCounter - 1
End If
If Not iCounter = 0 Then
sTmp = Chr(Asc("@") + iCounter)
End If
ColumnIndexToString = sTmp & Chr(Asc("@") + iMod)
End Function


Public Function StringToColumnIndex(Key As String) As Integer
Dim iResult As Integer
If Len(Key) = 1 Then
iResult = Asc(UCase(Key)) - Asc("@")
Else
iResult = (Asc(UCase(Mid(Key, 1, 1))) - Asc("@")) * 26
iResult = iResult + (Asc(UCase(Mid(Key, 2, 1))) - Asc("@"))
End If
StringToColumnIndex = iResult
End Function
Der aufruf damit Du den Buchstaben 2 Spalten neben der Spalte BI bekommst sieht dann so aus.
Dim Spalte as String
Spalte = ColumnIndexToString( StringToColumnIndex("BI")+2)
Spalte ist dann BK
Gruss Alex
Anzeige
AW: Spalte A + 2 ?
27.03.2007 22:29:00
Mathias
Hallo,
danke für die Tipps. Leider komme ich damit doch nicht weiter.
Ich möchte einfach nur die Koordinaten der aktiven Zelle ermitteln und dann
in einem anderen Blatt nur bestimmte Spalten (ggfls + 2 Spalten) oder bestimmte Zeilen (evtl. + 2 Zeilen) neu berechnen lassen.
Hat jemand evtl. einen Tipp, wie man das halbwegs einfach hinbekommen kann? Vielen dank.
Freundliche Grüße
Mathias Willmes
AW: Spalte A + 2 ?
27.03.2007 23:02:00
Mustafa
Hallo Mathhias,
Versuch mal so:
Worksheets("Tabelle2").Cells(Target.Row, Target.Column + 2)
Rückmeldung obs Hilft wäre nett.
Viele Grüße aus Köln.
AW: Spalte A + 2 ?
28.03.2007 09:22:14
Mathias
Hallo,
vielen Dank für den Tipp.
Wenn ich das richtig sehe, kann ich damit "nur" bestimmte Zellen (Zeile + Spalte) neu berechnen lassen.
Ich muß aber *ganze* Zeilen bzw. Spalten neu berechnen.
Teilweise ist es auch so, das die Eingabe in einer Spalte erfolgt und dagegen die Neuberechung in einer bestimmten Zeile erfolgen soll.
Ideal wäre eine Funktion, bei der ich angeben kann, ob eine ganze Spalte, eine Zeile, eine bestimmte Zelle oder evtl. auch ein Bereich neu berechnet werden soll...
Viele Grüße
Mathias
Anzeige
ERLEDIGT AW: Spalte A + 2 ?
28.03.2007 18:21:00
Mathias
Nach langem rumprobieren klappt es jetzt. Vielen Dank nochmal für alle Tipps!!!
Viele Grüße
Mathias Willmes
Danke für die Rückmeldung m.T.
28.03.2007 23:13:50
Mustafa
Hallo Mathias,
Es ist sehr schön zu hören das du nicht auf fertige Lösungen wartest sondern auch eigeninitiative zeigst.
Aber es wäre schön wenn du deinen Lösungsweg hier kurz postest damit andere User des Forums, die evtl. ein ähnliches Problem haben und auf die Online-Recherche zurückgreifen, bei deinem Thread vielleicht die Lösung oder einen Ansatzweg zur Lösung ihres Problems finden können.
Viele Grüße aus Köln.
AW: Danke für die Rückmeldung m.T.
31.03.2007 19:54:44
Mathias
Hallo,
du hast Recht. Hier also ein Codeschnipselchen für Alle :-)
If Not (Intersect(Target, [B4:C253]) Is Nothing) Then
Worksheets("- Tabelle1 -").Columns(5).Calculate
Worksheets("- Tabelle2 -").Columns(8).Calculate
Worksheets("- Tabelle3-").Rows(3).Calculate
End If
Wenn Änderungen in dem Bereich B4:C253 eingegegeben wurden, werden bestimmte Spalten oder Zeilen in anderen Tabellenblättern berechnet
Viele Grüße
Mathias Willmes
Anzeige
AW: Danke für die Rückmeldung m.T.
31.03.2007 20:03:12
Mathias
Hallo,
du hast Recht. Hier also ein Codeschnipselchen für Alle :-)
If Not (Intersect(Target, [B4:C253]) Is Nothing) Then
Worksheets("- Tabelle1 -").Columns(5).Calculate
Worksheets("- Tabelle2 -").Columns(8).Calculate
Worksheets("- Tabelle3-").Rows(3).Calculate
End If
Wenn Änderungen in dem Bereich B4:C253 eingegegeben wurden, werden bestimmte Spalten oder Zeilen in anderen Tabellenblättern berechnet
Viele Grüße
Mathias Willmes

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige