Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Array-Formel in VBA-Code umwandeln?

Array-Formel in VBA-Code umwandeln?
26.10.2008 10:56:28
Robert
Hallo,
ich bräuchte bitte eure Hilfe.
Hab folgende Formel...
Selection.FormulaArray = _
=IF(ROW(R[-107]C[-3])>COUNTA('1'!R5C[4]:R200C[4]),"""",INDEX('1'!R5C4:R200C4,SMALL(IF('1'!R5C[4]:R200C[4]<>"""",ROW(R1:R196),""""),ROW(R[-107]C[-3]))))"
Mein Problem ist, dass ich die Formel in VBA-Code bräuchte.
Ist das überhaupt umsetzbar?
Vielen Dank schon mal im Voraus.
Grüße
Robert

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Array-Formel in VBA-Code umwandeln?
26.10.2008 11:04:00
Tino
Hallo,
wenn Du sagst was diese Formel macht, könnte man etwas nachbauen.
Gruß Tino
AW: Array-Formel in VBA-Code umwandeln?
26.10.2008 11:28:11
Robert
Hallo,
sorry...
Die Formel sucht in Tabelle "1", nach Prüfung und Übereinstimmung des Datums mit Tabelle "PLANTAFEL", in der enstprechenden Datumsspalte nach einträgen (z. B. "U" etc.). Wenn ein Eintrag gefunden wird, wird der daugehörige Mitarbeitername von der Tabelle "1" in Tabelle "PLANTAFEL" übernommen (ohne Leerzeilen).
https://www.herber.de/bbs/user/56279.xls
Vielleicht ist es in der Beispielmappe besser ersichtlich. Kanns leider nicht besser erklären ;-(
Vielen Dank schon mal.
Gruß Robert
Anzeige
AW: Array-Formel in VBA-Code umwandeln?
26.10.2008 11:36:30
Robert
... wenn es überhaupt möglich ist, so etwas zu machen, stellt sich noch die Frage, ob der Datumsabgleich
über zwei Tabellen gehen kann ( "1" und "2" - zwei Jahreshälften)?
Danke
Robert
AW: Array-Formel in VBA-Code umwandeln?
26.10.2008 12:10:39
Erich
Hi Robert,
probier mal

Option Explicit
Sub PlantafelFuellen()
Dim intBlatt As Integer, lngC As Long, lngZ As Long, lngA As Long, lngV As Long
Sheets("PLANTAFEL").Select
For intBlatt = 1 To 2
With Sheets(CStr(intBlatt))
If intBlatt = 2 Then _
lngV = Sheets("1").Cells(3, .Columns.Count).End(xlToLeft).Column - 1
For lngC = 2 To .Cells(3, .Columns.Count).End(xlToLeft).Column
lngA = 108
For lngZ = 5 To .Cells(.Rows.Count, 1).End(xlUp).Row
If Not IsEmpty(.Cells(lngZ, lngC)) Then
Cells(lngA, lngC + lngV) = .Cells(lngZ, 1)
lngA = lngA + 1
End If
Next lngZ
Next lngC
End With
Next intBlatt
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Array-Formel in VBA-Code umwandeln?
26.10.2008 12:32:00
Daniel
Hi
eine Möglichkeit wäre, in der Tabelle "1" spaltenweise den Autofilter auf "NichtLeere" zu setzen und die sichtbaren Mitarbeiter aus Spalte 1 in die Planungstabelle zu kopieren:

Sub Übertragen()
Dim rngMA As Range, rngAbw As Range
Dim shP As Worksheet, sh1 As Worksheet
Dim sp  As Long
Set sh1 = Sheets("1")
Set shP = Sheets("Plantafel")
Set rngMA = Range(sh1.Cells(5, 1), sh1.Cells(Rows.Count, 1).End(xlUp))
Set rngAbw = Range(sh1.Cells(4, 1), sh1.Cells(sh1.Cells(Rows.Count, 1).End(xlUp).Row, _
Cells(2, Columns.Count).End(xlToLeft).Column))
For sp = 2 To rngAbw.Columns.Count
rngAbw.AutoFilter Field:=sp, Criteria1:=""
On Error Resume Next
rngMA.SpecialCells(xlCellTypeVisible).Copy Destination:=shP.Cells(108, sp)
On Error GoTo 0
sh1.ShowAllData
Next
End Sub


Gruß, Daniel
Gruß, Daniel

Anzeige
AW: Array-Formel in VBA-Code umwandeln?
26.10.2008 13:11:00
Tino
Hallo,
hier noch meine Version.
Modul Modul1
Option Explicit 
 
Sub TestMakro() 
Dim SuchBer As Range 
Dim EinfBer As Range 
Dim i As Long, j As Long, A As Long 
Dim meArS 
 
With Tabelle1 
i = .Cells(.Rows.Count, "A").End(xlUp).Row 
j = .Cells(1, Columns.Count).End(xlToLeft).Column 
Set SuchBer = .Range("A5", .Cells(i, j)) 
End With 
meArS = SuchBer 
With Sheets("PLANTAFEL") 
Set EinfBer = .Range("B108", .Cells(107 + i, j)) 
 
For i = 1 To Ubound(meArS) 
  
 For j = 2 To Ubound(meArS, 2) 
  A = A + 1 
  Select Case UCase(meArS(i, j)) 
    
   Case "U", "F", "K": EinfBer(A) = meArS(i, 1) 
  End Select 
 Next j 
 
Next i 
End With 
End Sub 


Gruß Tino

Anzeige
AW: Array-Formel in VBA-Code umwandeln?
26.10.2008 15:17:00
Tino
Hallo,
Da du eine Tabelle fürs erste Halbjahr und eine für das zweite Halbjahr haben möchtest,
brauchst du auch zwei Ausgabebereiche, weil ein ganzes Jahr nicht in eine Zeile passt.
https://www.herber.de/bbs/user/56294.xls
Gruß Tino
AW: Array-Formel in VBA-Code umwandeln?
26.10.2008 17:35:00
Robert
Hallo,
ihr seid super! Danke euch vielmals! Es funktionieren alle eure Vorschläge.
Tino deine Version ist genau das was ich brauche.
Nochmals vielen Dank
Gruß Robert
AW: Array-Formel in VBA-Code umwandeln?
26.10.2008 18:20:07
Robert
Hallo Tino,
kannst du mir nochmal helfen bitte?
Hab gerade deine Version in meine Datei eingebaut. Hab jetzt das Problem, dass ich für jeweils eine Jahreshälfte eine Tabelle brauche. Also "1" und "2" und dazu "PLANTAFEL1" und "PLANTAFEL2".
Wie müsste dann deine überaus geniale Lösung angepasst werden?
Schaffe das einfach nicht.
Gruss Robert
Anzeige
AW: Array-Formel in VBA-Code umwandeln?
26.10.2008 18:40:00
Robert
Hallo Tino,
das ging aber super schnell.
Habs gerade eingehängt und es funktioniert...es funktioniert!
Du bist der Beste! Vielen vielen Dank.
Gruss Robert
AW: Array-Formel in VBA-Code umwandeln?
26.10.2008 19:49:00
Tino
Hallo,
danke für die Rückmeldung.
PS: der Beste bin ich nicht, eher Kategorie bescheiden auf dem Weg nach oben ;-)
Gruß Tino

361 Forumthreads zu ähnlichen Themen


Halli Hallo,
ich bin ziemlicher Neuling in VBA. Daher würde ich euch bitten mir bei meiner Fragestellung zu helfen und zwar wie folgt: Ich möchte aus einer Tabelle aller Zellen kopieren, bis der Wert einer Zelle 0 annimmt. Diesen bestimten Bereich möchte ich in einer neuen Datei abspeichern...

Hi Leute
Ich habe hier diesen netten VBA Code geschrieben und leider wie solls auch anders sein kommt dauernd eine Fehlermeldung :)
CODE:
rowbeforeinteger = 2
Dim text As String
text = "=IF(" & epsoldcolumn & rowbeforeinteger & "=""x"";1;0)+IF(" & emailsoldco...

Hallo
zum Feierabend noch mal fix ne Frage
ich möchte in einem anderen sheet, in einer anderen Tabelle etwas suchen und danach 4 Zellen nach links gehen und den Wert kopieren...
Dim strActiveCell As String
Dim rFound As Range
Tabellenname = ActiveSheet.Name
Tabellenname...

Hallo Excel-Gemeinde!
ich habe eine mehrblättrige Datei, per Makro kopiere ich ein Blatt und speichere dieses unter neuem Namen ab.
Dieses Blatt soll aber nicht mehr den VBA-Code der ursprübglichen Datei enthalten, sprich ein Blatt ohne Makros.
Wer kann mir helfen?
So sieht der...

Und nochmal Hallo.
Und schon wieder mit einem sehr "mysteriösen" Fehler:
Option Explicit Sub test() Dim zeile, i As Long Dim wks As Worksheet Dim wkb As Workbook Dim quelle As String For Each wkb In Workbooks If Right(wkb.Name, 4) = ".csv" And InStr(wkb.Name, "Pliste") > 0 Then que...

Hallo,
obwohl ich schon viel mit Excel gemacht habe, tauchen doch immer wieder Fragen auf:
Gibt es eine Möglichkeit, in einer Zelle einen Zeilenumbruch manuell einzufügen, ohne dass man bereits am Zellenende ist?
Ich denke, dass ist eine eher dumme Frage, aber ich habe derzeit keine...
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige