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

Variable Zelle ?

Variable Zelle ?
18.11.2002 19:45:17
Erich
Hallo EXCEL-Freunde,

habe mit Hilfe des Forums und vielen Stunden nachstehenden Code entwickelt. Dabei geht es darum, dass aus einer Tabelle"E" Zahlen geholt werden (ab Zeile 27) und nach einem bestimmten Rhythmus und unter bestimmten Bedingungen in die aktuelle Tabelle (z.B. in Spalte 4) eingetragen werden.

Jetzt habe ich festgestellt, dass ich dieses Makro mehrmals verwenden kann - allerdings müßte es immer auf eine andere Spalte der Tabelle"E" zugreifen.

Gibt es eine Möglichkeit im nachstehenden Beispiel bei Range("I") (=Spalte I) eine variable einzusetzen, so dass alternativ auch auf die Spalten F oder G usw. zurückgegriffen wird?

Vielen Dank wenn sich jemand mit dem dicken code die Mühe macht!

mfg
Erich

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Variable Zelle ?
18.11.2002 19:56:54
Nepumuk
Hallo Erich,
dazu musst du erst festlegen wie du die verschiedenen Spalten auswählen willst. Mit einer Inputbox die dich nach der Spalte frägt, oder mit verschiedenen Buttons.
Gruß
Nepumuk
Re: Variable Zelle ?
18.11.2002 19:57:02
Nepumuk
Hallo Erich,
dazu musst du erst festlegen wie du die verschiedenen Spalten auswählen willst. Mit einer Inputbox die dich nach der Spalte frägt, oder mit verschiedenen Buttons.
Gruß
Nepumuk
Re: Variable Zelle ?
18.11.2002 19:57:15
Nepumuk
Hallo Erich,
dazu musst du erst festlegen wie du die verschiedenen Spalten auswählen willst. Mit einer Inputbox die dich nach der Spalte frägt, oder mit verschiedenen Buttons.
Gruß
Nepumuk
Anzeige
Re: Variable Zelle ?
18.11.2002 20:03:59
PeterW
Hallo Erich,

am Ende Deines Codes hast Du das im Prinzip doch schon umgesetzt: Range("D5") ist das Gleiche wie Cells(5, 4), also Cells(Zeile, Spalte). Und für Zeile und Spalte kannst Du bequem mit Variablen arbeiten.

Gruß
Peter

Re: Variable Zelle ?
18.11.2002 20:26:15
Erich
Vielen Dank zunächst.

Mein Ziel wäre es, dass das Makro selbständig ohne Inputbox oder Button arbeitet.

Also z.B.:

wenn in aktueller Tabelle "A1" = B, dann Zugriff auf Spalte "I"

wenn in aktueller Tabelle "A1" = C, dann Zugriff auf Spalte "F"

wenn in aktueller Tabelle "A1" = D, dann Zugriff auf Spalte "G"

Derzeit habe ich eben drei Makros weil ich abhängig von A1 das entsprechende Makro anstoße - aber gehts auch in einem, ohne dass ich immer die ganze Prozedur wiederhole und I / F / G nur austausche?

Meine sämtlichen (laienhaften) Versuche sind bisher gescheitert - aber vielleicht geht so was auch gar nicht?

Also nochmals besten Dank!

mfg
Erich

Anzeige
Re: Variable Zelle ?
18.11.2002 20:38:37
Nepumuk
Hallo Erich,
bitteschön:

Sub CommandButton2_Click()
Dim i As Integer, s As String
Select Case Cells(1, 1)
Case "B": s = "I"
Case "C": s = "F"
Case "D": s = "G"
Case Else: Exit Sub
End Select
For i = 11 To 22
If Cells(i, 3) = 0 Then
Range(Cells(i, 4), Cells(22, 4)).Value = 0
Exit For
Else
If i Mod 3 = 1 Then
Cells(i, 4).Value = Sheets("E").Range(s & CStr(27 + ((i - 5) \ 12) * 2))
Else
Cells(i, 4).Value = Sheets("E").Range(s & CStr(28 + ((i - 5) \ 12) * 2))
End If
End If
Next i
For i = 23 To 34
If Cells(i, 3) = 0 Then
Range(Cells(i, 4), Cells(34, 4)).Value = 0
Exit For
Else
If i Mod 3 = 1 Then
Cells(i, 4).Value = Sheets("E").Range(s & CStr(29 + ((i - 5) \ 12) * 2))
Else
Cells(i, 4).Value = Sheets("E").Range(s & CStr(30 + ((i - 5) \ 12) * 2))
End If
End If
Next i
For i = 35 To 154
If Cells(i, 3) = 0 Then
Range(Cells(i, 4), Cells(154, 4)).Value = 0
Exit For
Else
If i Mod 3 = 1 Then
Cells(i, 4).Value = Sheets("E").Range(s & CStr(31 + ((i - 11) \ 12) * 2))
Else
Cells(i, 4).Value = Sheets("E").Range(s & CStr(32 + ((i - 11) \ 12) * 2))
End If
End If
Next i
For i = 155 To 250
If Cells(i, 3) = 0 Then
Range(Cells(i, 4), Cells(250, 4)).Value = 0
Exit For
Else
Cells(i, 4) = Sheets("E").Range(s & "39").Value
End If
Next i
End Sub

Gruß
Nepumuk

Anzeige
o.T! Danke!!! Bin einfach begeistert!!!!
18.11.2002 21:00:35
Erich
.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige